bool Item::hasData(const script_data_exchangemap &datamap) const { if (datamap.empty() && !hasNoData()) { return false; } for (const auto& item : datamap) { if (getData(item.first) != item.second) { return false; } } return true; }
inline bool isEmpty() const { return hasNoData() && surfaceId == 0; }