public override void ProcessPacket(BasePacket packet) { PacketEnum.ProcessType processType = packet.ProcessType; switch (processType) { case PacketEnum.ProcessType.Connect: { MNetworkPlayer player = new MNetworkPlayer(packet.Serial); NetworkLobby.AddPlayer(player); player.PlayerState = MNetworkPlayer.MPlayerState.Connected; Debug.Log($"S:[{packet.Serial}] Connected"); break; } case PacketEnum.ProcessType.Disconnect: { NetworkLobby.DeletePlayer(packet.Serial); Debug.Log($"S:[{packet.Serial}] Disconnected"); break; } case PacketEnum.ProcessType.Data: { OnMessage(packet); break; } } }
public virtual bool ProcessConnectorPacket(BasePacket packet) { if (networkCallbacks.TryGetValue(packet.Serial, out NetworkCallback callback) == false) { return(false); } PacketEnum.ProcessType processType = (PacketEnum.ProcessType)packet.ProcessType; switch (processType) { case PacketEnum.ProcessType.Data: callback.HandleNetworkMessage(packet); break; default: return(false); } return(true); }
public ProtobufPacketImpl(int serial, PacketEnum.ProcessType processType, int type = -1) : base(serial, processType, type) { }
public BasePacket(int serial, PacketEnum.ProcessType processType, int type = -1) { Serial = serial; ProcessType = processType; Type = type; }
public ProtobufPacket(int serial, PacketEnum.ProcessType processType, int type, T protobufPacket) : base(serial, processType, type) { message = protobufPacket; Encode(); }