Пример #1
0
    /// <summary>
    /// 通用聊天语句点击
    /// </summary>
    /// <param name="message"></param>
    private void OnCommonMessageClick(string message)
    {
        string audioName = string.Empty;
        cfg_commonMessageEntity commonMessageEntity = cfg_commonMessageDBModel.Instance.GetEntityByMessage(message);

        if (commonMessageEntity != null)
        {
            audioName = commonMessageEntity.AudioName;
        }
        GameCtrl.Instance.OnReceiveMessage(ChatType.Message, AccountProxy.Instance.CurrentAccountEntity.passportId, message, audioName, 0);

        ClientSendMessage(ENUM_PLAYER_MESSAGE.STRING, message, 0);
        m_UIChatView.Close();
    }
Пример #2
0
    /// <summary>
    /// 服务器广播聊天消息
    /// </summary>
    /// <param name="obj"></param>
    private void OnServerBroadcastMessage(byte[] obj)
    {
        OP_PLAYER_MESSAGE proto = OP_PLAYER_MESSAGE.decode(obj);

        if (proto.typeId == ENUM_PLAYER_MESSAGE.STRING)
        {
            string message = System.Text.Encoding.UTF8.GetString(proto.content);
            cfg_commonMessageEntity commonMessageEntity = cfg_commonMessageDBModel.Instance.GetEntityByMessage(message);
            string audioName = string.Empty;
            if (commonMessageEntity != null)
            {
                audioName = commonMessageEntity.AudioName;
            }
            GameCtrl.Instance.OnReceiveMessage(ChatType.Message, proto.playerId, message, audioName, proto.toId);
        }
        else if (proto.typeId == ENUM_PLAYER_MESSAGE.ANIMATION)
        {
            string message = System.Text.Encoding.UTF8.GetString(proto.content);
            cfg_interactiveExpressionEntity entity = cfg_interactiveExpressionDBModel.Instance.GetEntityByCode(message);
            if (entity != null)
            {
                GameCtrl.Instance.OnReceiveMessage(ChatType.InteractiveExpression, proto.playerId, entity.animation, entity.sound, proto.toId);
            }
        }
        else if (proto.typeId == ENUM_PLAYER_MESSAGE.FACE)
        {
            string message = System.Text.Encoding.UTF8.GetString(proto.content);
            cfg_chatExpressionEntity entity = cfg_chatExpressionDBModel.Instance.GetEntityIdByCode(message);
            if (entity != null)
            {
                GameCtrl.Instance.OnReceiveMessage(ChatType.Expression, proto.playerId, entity.image, entity.sound, proto.toId);
            }
        }
        else if (proto.typeId == ENUM_PLAYER_MESSAGE.BYTES)
        {
            if (isPlayExternalAudio)
            {
                MicroPhoneManager.Instance.PlayExternalAudio(proto.content);
                GameCtrl.Instance.OnReceiveMessage(ChatType.MicroPhone, proto.playerId, string.Empty, string.Empty, proto.toId);
            }
        }
    }