diff --git a/resharper/resharper-unity/src/Yaml/Psi/Caches/UnityEditorPropertyValues/SceneHierarchy.cs b/resharper/resharper-unity/src/Yaml/Psi/Caches/UnityEditorPropertyValues/SceneHierarchy.cs index b52bf1426a..2d4c2832f4 100644 --- a/resharper/resharper-unity/src/Yaml/Psi/Caches/UnityEditorPropertyValues/SceneHierarchy.cs +++ b/resharper/resharper-unity/src/Yaml/Psi/Caches/UnityEditorPropertyValues/SceneHierarchy.cs @@ -1,4 +1,6 @@ +using System; using System.Collections.Generic; +using System.Linq; using JetBrains.Application.PersistentMap; using JetBrains.Collections; using JetBrains.Diagnostics; @@ -7,11 +9,14 @@ using JetBrains.Serialization; using JetBrains.Text; using JetBrains.Util; +using JetBrains.Util.Logging; namespace JetBrains.ReSharper.Plugins.Unity.Yaml.Psi.Caches.UnityEditorPropertyValues { public class SceneHierarchy { + private static readonly ILogger ourLogger = Logger.GetLogger(); + public readonly Dictionary Elements = new Dictionary(); private readonly Dictionary myGameObjectsTransforms = new Dictionary(); @@ -46,8 +51,12 @@ public void AddSceneHierarchyElement(Dictionary simpleValues, Di var anchor = simpleValues.GetValueSafe("&anchor"); if (string.IsNullOrEmpty(anchor)) return; + var id = new FileID(null, anchor); + if (Elements.ContainsKey(id)) + ourLogger.Verbose($"Id = {anchor.Substring(0, Math.Min(anchor.Length, 100))} is defined several times for different documents"); + var correspondingId = GetCorrespondingSourceObjectId(referenceValues); var prefabInstanceId = GetPrefabInstanceId(referenceValues); bool isStripped = simpleValues.ContainsKey("stripped");