// LOGIC

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

        if (database != null)
        {
            for (int index = 0; index < database.playersCount; ++index)
            {
                tnOnlinePlayerDataEntry entry = database.GetPlayerDataEntry(index);
                if (entry != null)
                {
                    string key = entry.id;
                    tnOnlinePlayerDataDescriptor descriptor = entry.descriptor;
                    if (key != "" && descriptor != null)
                    {
                        int hash = StringUtils.GetHashCode(key);
                        tnOnlinePlayerData data = new tnOnlinePlayerData(descriptor);

                        m_Data.Add(hash, data);
                        m_Keys.Add(hash);
                    }
                }
            }
        }
        else
        {
            LogManager.LogWarning(this, "Database not loaded.");
        }
    }
    // CTOR

    public tnOnlinePlayerData(tnOnlinePlayerDataDescriptor i_Descriptor)
    {
        if (i_Descriptor == null)
        {
            return;
        }

        m_Color = i_Descriptor.color;
    }