using System.Collections.Generic; using Newtonsoft.Json; using Newtonsoft.Json.Linq; using Unity.Pipeline.Models; namespace Unity.Pipeline.Editor.Commands.GameObjects { /// /// Structured result for get_component_properties / set_component_properties. /// WHY it pairs the component identity with the property map: the caller gets back both the /// canonical handle (to reference the component again) and the /// current serialized values in one round trip, which also makes set return the committed state /// for a read-after-write check. /// public sealed class ComponentPropertiesResult { /// Canonical identity of the component the properties belong to. [JsonProperty("component")] public AuthoringResult Component { get; set; } /// Map of serialized property name to its JSON value. [JsonProperty("properties")] public Dictionary Properties { get; set; } = new Dictionary(); } }