public virtual void OnPublicMessage(Electrotank.Electroserver5.Api.PublicMessageEvent e)
    {
        GPChatView.listMessage.Add(str);

        if (e.UserName == GameManager.Instance.mInfo.username)
        {
            chatView.FocusTextChat();
            return;
        }

        if (chatView != null && chatView.gameObject != null)
        {
            chatView.NewChatWhenOpen(str);
        }
        else
        {
            numberNewMessage++;
            if (numberNewMessage > 0)
            {
                if (numberNewMessage > 99)
                {
                    numberNewMessage = 99;
                }
                panelNumberMessage.SetActive(true);
                panelNumberMessage.GetComponentInChildren <UILabel>().text = numberNewMessage.ToString();
            }
        }
    }
    public override void OnPublicMessage(Electrotank.Electroserver5.Api.PublicMessageEvent e)
    {
        #region VIEW CONTENT CHAT

        if (e.UserName != GameManager.Instance.mInfo.username)
        {
            PlayerControllerTLMN player = GameModelTLMN.GetPlayer(e.UserName);
            if (player != null)
            {
                if (playerChats.ContainsKey(player))
                {
                    if (playerChats[player] != null)
                    {
                        playerChats[player].DestroyMe();
                    }
                    playerChats.Remove(player);
                }
                playerChats.Add(GameModelTLMN.GetPlayer(e.UserName), PlayerChat.Create(e.Message, GameModelTLMN.GetPlayer(e.UserName)));
            }
        }
        #endregion
        str = "[FF6600]" + e.UserName.ToUpper() + ":[-] " + e.Message + "\n";
        base.OnPublicMessage(e);
    }
    public override void OnPublicMessage(Electrotank.Electroserver5.Api.PublicMessageEvent e)
    {
        #region VIEW CONTENT CHAT

        if (e.UserName != GameManager.Instance.mInfo.username)
        {
            PlayerControllerChan player = GameModelChan.GetPlayer(e.UserName);
            if (player != null)
            {
                if (playerChats.ContainsKey(player))
                {
                    if (playerChats[player] != null)
                    {
                        playerChats[player].DestroyMe();
                    }
                    playerChats.Remove(player);
                }
                playerChats.Add(GameModelChan.GetPlayer(e.UserName), PlayerChat.Create(e.Message, GameModelChan.GetPlayer(e.UserName)));
            }
        }
        #endregion
        str = string.Format("{0}" + e.UserName.ToUpper() + ":[-] " + e.Message + "\n", GameModelChan.ListWaitingPlayer.Find(plc => plc.username == e.UserName) != null ? "[FFCC00]" : "[FF6600]");
        base.OnPublicMessage(e);
    }