public void Build(IPsiSourceFile sourceFile, ProjectSettingsCacheItem cacheItem) { { var file = sourceFile.GetDominantPsiFile <YamlLanguage>() as IYamlFile; var inputs = GetCollection(file, "InputManager", "m_Axes"); if (inputs == null) { myLogger.Error("inputs != null"); return; } if (inputs is IBlockSequenceNode node) { foreach (var s in node.Entries) { var input = s.Value; var inputRecord = input as IBlockMappingNode; if (inputRecord == null) { continue; } var name = inputRecord.Entries.FirstOrDefault(t => t.Key.GetText().Equals(UnityYamlConstants.NameProperty))?.Content.Value.GetPlainScalarText(); if (!name.IsNullOrEmpty()) { cacheItem.Inputs.Add(name); } } } } }
private static void Write(UnsafeWriter writer, ProjectSettingsCacheItem value) { value.Scenes.Write(writer); WriteSet(writer, value.Inputs); WriteSet(writer, value.Tags); WriteSet(writer, value.Layers); }
public void Build(IPsiSourceFile sourceFile, ProjectSettingsCacheItem cacheItem) { var file = sourceFile.GetDominantPsiFile <YamlLanguage>() as IYamlFile; var scenesArray = GetSceneCollection(file); if (scenesArray == null) { myLogger.Error("scenesArray != null"); return; } if (scenesArray is IBlockSequenceNode node) { foreach (var s in node.Entries) { var scene = s.Value; var sceneRecord = scene as IBlockMappingNode; if (sceneRecord == null) { continue; } if (sceneRecord.Entries.Count < 2) { continue; } var scenePath = sceneRecord.Entries[1].Content?.Value.GetPlainScalarText(); if (scenePath == null) { continue; } var path = GetUnityScenePathRepresentation(scenePath); var isEnabledPlaneScalarNode = sceneRecord.Entries[0].Content?.Value as IPlainScalarNode; var isEnabled = isEnabledPlaneScalarNode?.Text.GetText().Equals("1"); if (path == null || !isEnabled.HasValue) { continue; } cacheItem.Scenes.SceneNamesFromBuildSettings.Add(path); if (!isEnabled.Value) { cacheItem.Scenes.DisabledSceneNamesFromBuildSettings.Add(path); } } } }
public void Build(IPsiSourceFile sourceFile, ProjectSettingsCacheItem cacheItem) { var file = sourceFile.GetDominantPsiFile <UnityYamlLanguage>() as IYamlFile; var tagsArray = GetCollection(file, "TagManager", "tags"); if (tagsArray == null) { myLogger.Error("tagsArray != null"); return; } if (tagsArray is IBlockSequenceNode node) { foreach (var s in node.Entries) { var text = (s.Value as IPlainScalarNode)?.Text.GetText(); if (!text.IsNullOrEmpty()) { cacheItem.Tags.Add(text); } } } var layersArray = GetCollection(file, "TagManager", "layers"); if (layersArray == null) { myLogger.Error("layersArray != null"); return; } if (layersArray is IBlockSequenceNode layersNode) { foreach (var s in layersNode.Entries) { var text = (s.Value as IPlainScalarNode)?.Text.GetText(); if (!text.IsNullOrEmpty()) { cacheItem.Layers.Add(text); } } } }