/// <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(); }
/// <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); } } }