public override int GetHashCode()
    {
        int hash = 1;

        if (Id != 0)
        {
            hash ^= Id.GetHashCode();
        }
        if (Kickspeedx != 0F)
        {
            hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Kickspeedx);
        }
        if (Kickspeedz != 0F)
        {
            hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Kickspeedz);
        }
        if (Veltangent != 0F)
        {
            hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Veltangent);
        }
        if (Velnormal != 0F)
        {
            hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Velnormal);
        }
        if (Velangular != 0F)
        {
            hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Velangular);
        }
        if (Spinner != false)
        {
            hash ^= Spinner.GetHashCode();
        }
        if (Wheelsspeed != false)
        {
            hash ^= Wheelsspeed.GetHashCode();
        }
        if (Wheel1 != 0F)
        {
            hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Wheel1);
        }
        if (Wheel2 != 0F)
        {
            hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Wheel2);
        }
        if (Wheel3 != 0F)
        {
            hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Wheel3);
        }
        if (Wheel4 != 0F)
        {
            hash ^= pbc::ProtobufEqualityComparers.BitwiseSingleEqualityComparer.GetHashCode(Wheel4);
        }
        if (_unknownFields != null)
        {
            hash ^= _unknownFields.GetHashCode();
        }
        return(hash);
    }