/// <summary> /// Attempt to relink all gameObject /// with bookMarks with by their [Scene name + name] /// /// Do a deep clean of list before! /// </summary> /// <param name="foundObjects"></param> public void RelinkNamesWithGameObjects(List <Transform> foundObjects) { if (foundObjects == null || PeekSaveDatas.Instance == null) { return; } CleanArraysFromDuplicateInNameAndObjectReferences( PeekSerializeObject.PeekSave.GetPropertie("_pinnedObjectsInScenes"), PeekSerializeObject.PeekSave.GetPropertie("_pinnedObjectsNameInScenes"), PeekSerializeObject.PeekSave.GetPropertie("_pinnedObjectsScenesLink")); for (int i = 0; i < PeekSerializeObject.PinnedObjectsInScenesCount; i++) { if (PeekSerializeObject.PinnedObjectsInScenesIndex(i) == null) { for (int k = 0; k < foundObjects.Count; k++) { GameObject foundGameObject = foundObjects[k].gameObject; if (string.Equals( PeekSerializeObject.PinnedObjectsScenesLinkIndex(i).name + "/" + PeekSerializeObject.PinnedObjectsNameInScenesIndex(i), foundGameObject.scene.name + "/" + foundGameObject.name)) { PeekSerializeObject.PinnedObjectsInScenesList.GetArrayElementAtIndex(i).SetCustomObject(foundGameObject); if (_mustSearchForGameObject && string.Equals(foundGameObject.scene.name, _sceneNameOfGameObjectToSelect) && string.Equals(foundGameObject.name, _gameObjectNametoSelect)) { _mustSearchForGameObject = false; PeekLogic.ForceSelection(foundGameObject); SceneView.FrameLastActiveSceneView(); } } } } } PeekSerializeObject.Save(1f); }
private void OnPinnedSceneGameObjectInfoOpenScene(int index) { PeekLogic.SwapSceneAndSelectItem(PeekSerializeObject.PinnedObjectsScenesLinkIndex(index).GetPath(), PeekSerializeObject.PinnedObjectsNameInScenesIndex(index), PeekSerializeObject.PinnedObjectsScenesLinkIndex(index).name); }
private void OnPinnedSceneGameObjectInfo(int index) { SelectItem(PeekSerializeObject.PinnedObjectsScenesLinkIndex(index)); }