public void ForceClose()
 {
     ShowProjectReviewScreens(false);
     projListFrame.enabled          = false;
     projListOverlay.enabled        = false;
     currentProjectImageBgd.enabled = false;
     ProjectReviewState             = ProjectReviewMode.Inactive;
 }
 public void MakeActive(bool yesOrNo)
 {
     if (yesOrNo)
     {
         ShowProjectReviewScreens(true);
         ProjectReviewState = ProjectReviewMode.Loading;
     }
     else
     {
         ShowProjectReviewScreens(false);
         ProjectReviewState = ProjectReviewMode.Closing;
     }
 }
    // Start is called before the first frame update
    void Start()
    {
        projectListTxt.supportRichText = true;

        projListFrame.enabled          = false;
        projListOverlay.enabled        = false;
        currentProjectImageBgd.enabled = false;

        projListTxtInitialPos     = projectListTxt.rectTransform.anchoredPosition;
        projListTxtIsShiftingUp   = false;
        projListTxtIsShiftingDown = false;

        bulletPointFrontImageInitialPos = frontImageBP.rectTransform.anchoredPosition;
        bulletPointLeftImageInitialPos  = leftImageBP.rectTransform.anchoredPosition;
        bulletPointRightImageInitialPos = rightImageBP.rectTransform.anchoredPosition;
        bulletPointBackImageInitialPos  = backImageBP.rectTransform.anchoredPosition;

        bulletPointFrontImageWidth  = (int)frontImageBP.rectTransform.rect.width;
        bulletPointFrontImageHeight = (int)frontImageBP.rectTransform.rect.height;
        bulletPointSideImageWidth   = (int)leftImageBP.rectTransform.rect.width;
        bulletPointSideImageHeight  = (int)leftImageBP.rectTransform.rect.height;
        bulletPointBackImageWidth   = (int)backImageBP.rectTransform.rect.width;
        bulletPointBackImageHeight  = (int)backImageBP.rectTransform.rect.height;

        bulletPointImagesAreCyclingLeft  = false;
        bulletPointImagesAreCyclingRight = false;

        curBulletPointTextColor = bulletPointTextColor;

        ShowProjectReviewScreens(false);
        ProjectReviewState = ProjectReviewMode.Inactive;

        curProjectFileIndex        = 0;
        curVisibleProjectFileIndex = 0;

        curBulletPointIndex = 0;
    }
    // Update is called once per frame
    void Update()
    {
        if (projectList.Count > 0)
        {
            curProjectFile = projectList[curProjectFileIndex];
        }
        else
        {
            curProjectFile = null;
        }

        switch (ProjectReviewState)
        {
        case ProjectReviewMode.Inactive:



            break;

        case ProjectReviewMode.Loading:

            if (Time.time - transitionFrameRefTime > loadingFrameTime)
            {
                if (transitionFrameIndex < projectListFrameFrames.Count)
                {
                    projListFrame.texture          = projectListFrameFrames[transitionFrameIndex];
                    projListOverlay.texture        = projectListOverlayFrames[transitionFrameIndex];
                    currentProjectImageBgd.texture = projectImageFrames[transitionFrameIndex];

                    transitionFrameIndex++;
                    transitionFrameRefTime = Time.time;
                }
                else
                {
                    projectListBgd.enabled      = true;
                    projListSelectorBar.enabled = true;
                    projectListTxt.enabled      = true;

                    ProjectReviewState = ProjectReviewMode.Active;
                }
            }

            break;

        case ProjectReviewMode.Active:

            FlashProjectListSelector();
            UpdateProjectListText();

            if (curProjectFile != null)
            {
                currentProjectImage.enabled = true;
                currentProjectImage.texture = curProjectFile.GetProjectMainImage();

                currentProjectTitleTxt.enabled = true;
                currentProjectTitleTxt.text    = curProjectFile.GetProjectTitle();
                currentProjectNotesTxt.enabled = true;
                //currentProjectNotesTxt.text = curProjectFile.GetProjectDescription();

                if (curProjectBulletPoints.Count > 0)
                {
                    UpdateBulletPointDisplay();
                    currentProjectBulletPointsTxt.enabled = true;
                }
                else
                {
                    frontImageBP.enabled = false;
                    leftImageBP.enabled  = false;
                    rightImageBP.enabled = false;
                    backImageBP.enabled  = false;
                    currentProjectBulletPointsTxt.enabled = false;
                }
            }

            break;

        case ProjectReviewMode.Closing:

            if (Time.time - transitionFrameRefTime > closingFrameTime)
            {
                if (transitionFrameIndex > 0)
                {
                    projListFrame.texture          = projectListFrameFrames[transitionFrameIndex];
                    projListOverlay.texture        = projectListOverlayFrames[transitionFrameIndex];
                    currentProjectImageBgd.texture = projectImageFrames[transitionFrameIndex];

                    transitionFrameIndex--;
                    transitionFrameRefTime = Time.time;
                }
                else
                {
                    projListFrame.enabled          = false;
                    projListOverlay.enabled        = false;
                    currentProjectImageBgd.enabled = false;

                    ProjectReviewState = ProjectReviewMode.Inactive;
                }
            }

            break;
        }
    }