#include "guildscrobj.h" #include "guilds.h" #include #include #include "../clib/stlutil.h" namespace Pol { namespace Module { using namespace Bscript; BApplicObjType guild_type; EGuildRefObjImp::EGuildRefObjImp( Core::GuildRef gref ) : PolApplicObj( &guild_type, gref ){}; const char* EGuildRefObjImp::typeOf() const { return "GuildRef"; } u8 EGuildRefObjImp::typeOfInt() const { return OTGuildRef; } BObjectImp* EGuildRefObjImp::copy() const { return new EGuildRefObjImp( obj_ ); } bool EGuildRefObjImp::isTrue() const { return ( !obj_->_disbanded ); } bool EGuildRefObjImp::operator==( const BObjectImp& objimp ) const { if ( objimp.isa( BObjectImp::OTApplicObj ) ) { const BApplicObjBase* aob = Clib::explicit_cast( &objimp ); if ( aob->object_type() == &guild_type ) { const EGuildRefObjImp* guildref_imp = Clib::explicit_cast( aob ); return ( guildref_imp->obj_->_guildid == obj_->_guildid ); } else return false; } else if ( objimp.isa( BObjectImp::OTBoolean ) ) return isTrue() == static_cast( objimp ).isTrue(); else return false; } } // namespace Module } // namespace Pol