示例#1
0
    /*[Serializable]
     * public class RegistryUniqueID : UniqueID
     * {
     * }*/

    //////////////////////////////////////////////////////////////////////////
    public void SetValue <T>(UniqueID id, string key, T value)
    {
        if (m_Data.TryGetValue(id, out var data))
        {               // set value
            data.SetValue(key, value);
        }
        else
        {               // create container & add value
            var dataContainer = new DataContainerString();
            dataContainer.AddKey(key, value);
            m_Data.Add(id, dataContainer);
        }
    }
示例#2
0
    public T GetValue <T>(UniqueID id, string key)
    {
        // get existing value or create new default
        if (m_Data.TryGetValue(id, out var data) == false)
        {
            data = new DataContainerString();
            m_Data.Add(id, data);
        }

        if (data.TryGetValue <T>(key, out var value) == false)
        {
            value = default;
            data.AddKey(key, value);
        }

        return(value);
    }