public void OnMessage(MessageInfo info)
    {
        SoundManager._instance.PlayEffect("message");

        switch ((MessageType)info.Type)
        {
        case MessageType.None:
            break;

        case MessageType.Text:
            OnReciveText(info);
            break;

        case MessageType.Pic:
            OnRecivePic(info);
            break;

        case MessageType.Voice:
            OnReciveVoice(info);
            break;

        case MessageType.File:
            break;

        default:
            break;
        }
        OnReciveMessageDg?.Invoke(info);
    }
Ejemplo n.º 2
0
    internal void OnReceivePeerMessage(ProtocolDataModel pdm)
    {
        IMInfo info = IMInfo.Parser.ParseFrom(pdm.Message);

        MessagePeerName = info.UserName;

        MessageType tyep = (MessageType)info.MessageData[0];

        byte[] data = new byte[info.MessageData.Length - 1];
        Buffer.BlockCopy(info.MessageData.ToByteArray(), 1, data, 0, data.Length);
        switch (tyep)
        {
        case MessageType.Text:
            OnReciveText?.Invoke(data);
            break;

        case MessageType.Pic:
            OnRecivePic?.Invoke(data);
            break;

        case MessageType.Voice:
            OnReciveVoice?.Invoke(data);
            break;

        default:
            break;
        }
    }
Ejemplo n.º 3
0
 public void Start()
 {
     IsConnected = true;
     Task.Run(() =>
     {
         while (IsConnected)
         {
             var buffer = new byte[8192];
             int size   = server.Receive(buffer);
             if (size > 0)
             {
                 var toSend = buffer[0..size];
                 OnReciveMessage?.Invoke(this, toSend);
                 game.Send(toSend);
             }
Ejemplo n.º 4
0
 public void ReciveChatMessage(ChatMessage message)
 {
     OnReciveMessage.Invoke(message);
 }