dxx-rebirth/common/main/objnum.h
2015-03-22 18:49:21 +00:00

29 lines
813 B
C++

#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; }
};