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();
}
}