Example #1
0
    public void AddMessage(ChatMessage message)
    {
        if (content.childCount >= keepHistory)
        {
            Destroy(content.GetChild(0).gameObject);
        }
        GameObject go = Instantiate(message.textPrefab, content.transform, false);

        go.GetComponent <Text>().text           = message.Construct();
        go.GetComponent <UIChatEntry>().message = message;
        AutoScroll();
    }
Example #2
0
    public void AddMessage(ChatMessage message)
    {
        // delete old messages so the UI doesn't eat too much performance.
        // => every Destroy call causes a lag because of a UI rebuild
        // => it's best to destroy a lot of messages at once so we don't
        //    experience that lag after every new chat message
        if (content.childCount >= keepHistory)
        {
            for (int i = 0; i < content.childCount / 2; ++i)
            {
                Destroy(content.GetChild(i).gameObject);
            }
        }

        // instantiate and initialize text prefab with parent
        GameObject go = Instantiate(message.textPrefab, content.transform, false);

        go.GetComponent <Text>().text           = message.Construct();
        go.GetComponent <UIChatEntry>().message = message;

        AutoScroll();
    }