以下の内容はhttps://baba-s.hatenablog.com/entry/2020/04/04/090500より取得しました。


【Unity】Addressable Asset System で IResourceLocation を Json 形式で出力するための構造体

概要

[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;
}



以上の内容はhttps://baba-s.hatenablog.com/entry/2020/04/04/090500より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14