Added RID::is_valid() and comparison operators
- is_valid() is worked around by comparing a default RID()pull/75/head
parent
51f1d3ce5d
commit
06c61b6535
|
@ -11,12 +11,24 @@ class RID {
|
||||||
godot_rid _godot_rid;
|
godot_rid _godot_rid;
|
||||||
public:
|
public:
|
||||||
|
|
||||||
inline RID() {}
|
RID();
|
||||||
|
|
||||||
RID(Object *p);
|
RID(Object *p);
|
||||||
|
|
||||||
int32_t get_rid() const;
|
int32_t get_rid() const;
|
||||||
|
|
||||||
|
inline bool is_valid() const {
|
||||||
|
// is_valid() is not available in the C API...
|
||||||
|
return *this == RID();
|
||||||
|
}
|
||||||
|
|
||||||
|
bool operator==(const RID & p_other) const;
|
||||||
|
bool operator!=(const RID & p_other) const;
|
||||||
|
bool operator<(const RID & p_other) const;
|
||||||
|
bool operator>(const RID & p_other) const;
|
||||||
|
bool operator<=(const RID & p_other) const;
|
||||||
|
bool operator>=(const RID & p_other) const;
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
|
@ -6,6 +6,10 @@
|
||||||
|
|
||||||
namespace godot {
|
namespace godot {
|
||||||
|
|
||||||
|
RID::RID()
|
||||||
|
{
|
||||||
|
godot::api->godot_rid_new(&_godot_rid);
|
||||||
|
}
|
||||||
|
|
||||||
RID::RID(Object *p)
|
RID::RID(Object *p)
|
||||||
{
|
{
|
||||||
|
@ -17,5 +21,35 @@ int32_t RID::get_rid() const
|
||||||
return godot::api->godot_rid_get_id(&_godot_rid);
|
return godot::api->godot_rid_get_id(&_godot_rid);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
bool RID::operator==(const RID & p_other) const
|
||||||
|
{
|
||||||
|
return godot::api->godot_rid_operator_equal(&_godot_rid, &p_other._godot_rid);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool RID::operator!=(const RID & p_other) const
|
||||||
|
{
|
||||||
|
return !(*this == p_other);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool RID::operator<(const RID & p_other) const
|
||||||
|
{
|
||||||
|
return godot::api->godot_rid_operator_less(&_godot_rid, &p_other._godot_rid);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool RID::operator>(const RID & p_other) const
|
||||||
|
{
|
||||||
|
return !(*this < p_other) && *this != p_other;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool RID::operator<=(const RID & p_other) const
|
||||||
|
{
|
||||||
|
return (*this < p_other) || *this == p_other;
|
||||||
|
}
|
||||||
|
|
||||||
|
bool RID::operator>=(const RID & p_other) const
|
||||||
|
{
|
||||||
|
return !(*this < p_other);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue