#pragma once #include "strictindex.h" DEFINE_STRICT_INDEX_NUMBER(int16_t, objnum_t); DEFINE_STRICT_INDEX_CONSTANT_TYPE(object_magic_constant_t, objnum_t, int16_t); DEFINE_STRICT_INDEX_CONSTANT_NUMBER(object_magic_constant_t, -2, object_guidebot_cannot_reach); DEFINE_STRICT_INDEX_CONSTANT_NUMBER(object_magic_constant_t, -1, object_none); DEFINE_STRICT_INDEX_CONSTANT_NUMBER(object_magic_constant_t, 0, object_first); class object_signature_t { uint16_t signature; public: object_signature_t() = default; constexpr explicit object_signature_t(uint16_t s) : signature(s) { } bool operator==(const object_signature_t &rhs) const { return signature == rhs.signature; } bool operator!=(const object_signature_t &rhs) const { return !(*this == rhs); } uint16_t get() const { return signature; } };