// LOGIC

    public void Initialize(string i_DatabasePath)
    {
        tnCreditsDatabase database = Resources.Load <tnCreditsDatabase>(i_DatabasePath);

        if (database != null)
        {
            for (int index = 0; index < database.entriesCount; ++index)
            {
                tnCreditsDataDescriptor descriptor = database.GetEntry(index);
                if (descriptor != null)
                {
                    tnCreditsData data = new tnCreditsData(descriptor);
                    m_Data.Add(data);
                }
            }

            for (int index = 0; index < database.specialThanksEntriesCount; ++index)
            {
                tnCreditsTextEntryDescriptor descriptor = database.GetTextEntry(index);
                if (descriptor != null)
                {
                    tnCreditsTextEntry data = new tnCreditsTextEntry(descriptor);
                    m_Texts.Add(data);
                }
            }
        }
        else
        {
            LogManager.LogWarning(this, "Database not loaded.");
        }
    }
    // CTOR

    public tnCreditsTextEntry(tnCreditsTextEntryDescriptor i_Descriptor)
    {
        if (i_Descriptor != null)
        {
            m_Label = i_Descriptor.label;

            m_OverrideProperties = i_Descriptor.overrideProperties;

            m_Color = i_Descriptor.color;

            m_Font     = i_Descriptor.font;
            m_FontSize = i_Descriptor.fontSize;
        }
    }