public static bool ShrunkListIfNeeded()
        {
            bool hasChanged = false;

            if (SelectedObjectsCount >= UnityEssentialsPreferences.GetMaxSelectedObjectStored())
            {
                hasChanged = true;
                SelectedObjectsList.RemoveAt(0);
            }
            while (SelectedObjectsWithoutDuplicateCount >= UnityEssentialsPreferences.GetMaxObjectSHown())
            {
                hasChanged = true;
                SelectedObjectsWithoutDuplicateList.RemoveAt(0);
            }
            while (PinnedObjectsCount >= UnityEssentialsPreferences.GetMaxPinnedObject())
            {
                hasChanged = true;
                PinnedObjectsList.RemoveAt(0);
            }
            while (PinnedObjectsInScenesCount >= UnityEssentialsPreferences.GetMaxPinnedObject())
            {
                hasChanged = true;
                PinnedObjectsInScenesList.RemoveAt(0);
                PinnedObjectsNameInScenesList.RemoveAt(0);
                PinnedObjectsScenesLinkList.RemoveAt(0);
            }
            return(hasChanged);
        }
        public static void MoveToBookMark(int index)
        {
            SelectedObjectsWithoutDuplicateList.AddObject(PinnedObjectsInScenesIndex(index));

            PinnedObjectsScenesLinkList.RemoveAt(index);
            PinnedObjectsInScenesList.RemoveAt(index);
            PinnedObjectsNameInScenesList.RemoveAt(index);

            Save(30);
        }
 /// <summary>
 /// trigger when scene is deleted, or on peekLogic init / update
 /// </summary>
 public static void DeleteBookMarkedGameObjectOfLostScene()
 {
     for (int i = PinnedObjectsScenesLinkCount - 1; i >= 0; i--)
     {
         if (PinnedObjectsScenesLinkIndex(i) == null && PinnedObjectsInScenesIndex(i) == null)
         {
             PinnedObjectsScenesLinkList.RemoveAt(i);
             PinnedObjectsInScenesList.RemoveAt(i);
             PinnedObjectsNameInScenesList.RemoveAt(i);
         }
     }
     Save();
 }
        public static void RemoveBookMarkedGameObjectItem(int index)
        {
            if (LastSelectedObject == PinnedObjectsInScenesIndex(index))
            {
                PeekSerializeObject.ChangeLastSelectedObject(null);
            }
            SelectedObjectsList.RemoveAllObject(PinnedObjectsInScenesIndex(index));
            SelectedObjectsWithoutDuplicateList.RemoveObject(PinnedObjectsInScenesIndex(index));

            PinnedObjectsInScenesList.RemoveAt(index);
            PinnedObjectsNameInScenesList.RemoveAt(index);
            PinnedObjectsScenesLinkList.RemoveAt(index);

            Save();
        }