diff options
Diffstat (limited to 'src/tile-image.cpp')
-rw-r--r-- | src/tile-image.cpp | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/tile-image.cpp b/src/tile-image.cpp index c9dc24f4..5d9d9f11 100644 --- a/src/tile-image.cpp +++ b/src/tile-image.cpp @@ -2,18 +2,16 @@ namespace floormat { -bool operator==(const tile_image_proto& a, const tile_image_proto& b) noexcept = default; - -tile_image_ref::tile_image_ref(std::shared_ptr<tile_atlas>& atlas, std::uint16_t& variant) noexcept : - atlas{atlas}, variant{variant} +bool operator==(const tile_image_proto& a, const tile_image_proto& b) noexcept { + return a.atlas == b.atlas && a.variant == b.variant; } -tile_image_ref& tile_image_ref::operator=(tile_image_ref&& ref) noexcept +tile_image_proto::operator bool() const noexcept { return atlas != nullptr; } + +tile_image_ref::tile_image_ref(std::shared_ptr<tile_atlas>& atlas, std::uint16_t& variant) noexcept : + atlas{atlas}, variant{variant} { - atlas = ref.atlas; - variant = ref.variant; - return *this; } tile_image_ref& tile_image_ref::operator=(const tile_image_proto& proto) noexcept @@ -24,11 +22,12 @@ tile_image_ref& tile_image_ref::operator=(const tile_image_proto& proto) noexcep } tile_image_ref::tile_image_ref(const tile_image_ref&) noexcept = default; -tile_image_ref::tile_image_ref(tile_image_ref&&) noexcept = default; tile_image_ref::operator tile_image_proto() const noexcept { return { atlas, variant }; } +tile_image_ref::operator bool() const noexcept { return atlas != nullptr; } + } // namespace floormat |