using System;
using Newtonsoft.Json;
namespace Unity.Pipeline.Models
{
///
/// Canonical identity of an object an authoring command created or acted on, returned as the
/// command result so an agent can reference it in a follow-up call (via ).
/// Asset objects carry assetPath/guid(/fileId); loaded/scene objects carry instanceId/hierarchyPath.
///
[Serializable]
public class AuthoringResult
{
/// Canonical GlobalObjectId string for the object.
[JsonProperty("globalId")]
public string GlobalId { get; set; }
/// Project-relative asset path, if the object is an asset.
[JsonProperty("assetPath")]
public string AssetPath { get; set; }
/// Asset GUID, if the object is an asset.
[JsonProperty("guid")]
public string Guid { get; set; }
/// Local file id within the asset, for sub-assets.
[JsonProperty("fileId")]
public long? FileId { get; set; }
/// Instance id, if the object is loaded/in a scene.
[JsonProperty("instanceId")]
public ObjectId? InstanceId { get; set; }
/// Scene hierarchy path, for scene objects.
[JsonProperty("hierarchyPath")]
public string HierarchyPath { get; set; }
/// Object type name (e.g. "GameObject", "Material", "DefaultAsset").
[JsonProperty("type")]
public string Type { get; set; }
}
}