概要
[Serializable] public struct ResourceLocationJsonData { [SerializeField] private string m_internalId; [SerializeField] private string m_primaryKey; [SerializeField] private string m_providerId; [SerializeField] private string m_resourceType; [SerializeField] private bool m_hasDependencies; [SerializeField] private int m_dependencyHashCode; [SerializeField] private ResourceLocationJsonData[] m_dependencies; public ResourceLocationJsonData( IResourceLocation location ) { m_internalId = location.InternalId; m_primaryKey = location.PrimaryKey; m_providerId = location.ProviderId; m_resourceType = location.ResourceType.ToString(); m_hasDependencies = location.HasDependencies; m_dependencyHashCode = location.DependencyHashCode; m_dependencies = location.Dependencies .Select( c => new ResourceLocationJsonData( c ) ) .ToArray() ; } public string ToJson() { return JsonUtility.ToJson( this ); } public string ToPrettyJson() { return JsonUtility.ToJson( this, true ); } }
使用例
private string InternalIdTransformFunc( IResourceLocation location ) { var jsonData = new ResourceLocationJsonData( location ); Debug.Log( jsonData.ToPrettyJson() ); return internalId; }