public override bool HandlePacket(NetInboundPacket packet, CustomPacketType type)
        {
            if (type == CustomPacketType.Snapshot)
            {
                ushort pid = packet.ReadUInt16();
                NetConnectionSnapshotState connState;
                if (ConnectionStates.TryGetValue(packet.Sender, out connState))
                {
                    //connState.GotPacket = true;
                    if (connState.MeasuringRTT)
                    {
                        connState.MeasuringRTT  = false;
                        connState.RoundTripTime = Interpolation.Linear(connState.RoundTripTime,
                                                                       connState.RTT_TimeSinceLastSend, 0.15f);
                    }

                    ushort ppid = connState.LastInboundSnapshotId;
                    connState.LastInboundSnapshotId = pid;
                    if (pid <= ppid && pid != 0)
                    {
                        DashCMD.WriteWarning("[SnapshotNC] Dropping late client snapshot...");
                        return(true);
                    }

                    snapshotSystem.OnInbound(packet);
                    charSnapshotSystem.OnServerInbound(packet, connState);
                }

                return(true);
            }
            else
            {
                return(false);
            }
        }