Beispiel #1
0
 private MyNetworkWriter.MyPacketDescriptor InitSendStream(EndpointId endpoint, MyP2PMessageEnum msgType, MyMessageId msgId, byte index = 0)
 {
     MyNetworkWriter.MyPacketDescriptor descriptor1 = MyNetworkWriter.GetPacketDescriptor(endpoint, msgType, this.m_channel);
     descriptor1.Header.WriteByte((byte)msgId);
     descriptor1.Header.WriteByte(index);
     return(descriptor1);
 }
Beispiel #2
0
        protected void SendControlMessage <T>(ulong user, ref T message, bool reliable = true) where T : struct
        {
            ITransportCallback   callback;
            MyControlMessageEnum enum2;

            this.m_controlMessageTypes.TryGetValue(typeof(T), out enum2);
            this.m_controlMessageHandlers.TryGetValue((int)enum2, out callback);
            MyControlMessageCallback <T> callback2 = (MyControlMessageCallback <T>)callback;

            if (MySyncLayer.CheckSendPermissions(user, callback2.Permission))
            {
                MyNetworkWriter.MyPacketDescriptor packet = MyNetworkWriter.GetPacketDescriptor(new EndpointId(user), reliable ? MyP2PMessageEnum.ReliableWithBuffering : MyP2PMessageEnum.Unreliable, 0);
                packet.Header.WriteUShort((ushort)enum2);
                callback2.Write(packet.Header, ref message);
                MyNetworkWriter.SendPacket(packet);
            }
        }