mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-02-13 11:43:49 +00:00
fix inheritance conflict loop by declaring a singular root for class EngineObject : public StrongRefBase
This commit is contained in:
parent
8dc3163fae
commit
2e25059b27
1 changed files with 23 additions and 1 deletions
|
|
@ -282,6 +282,28 @@ class EngineObject;
|
|||
template< typename T > friend struct ::_SCOPE; \
|
||||
template< typename T > friend T* _CREATE(); \
|
||||
template< typename T, typename Base > friend class ::EngineClassTypeInfo; \
|
||||
private: \
|
||||
typedef ::_Private::_AbstractClassBase< ThisType > _ClassBase; \
|
||||
static EngineClassTypeInfo< ThisType, _ClassBase > _smTypeInfo; \
|
||||
static EngineExportScope& __engineExportScope(); \
|
||||
static EnginePropertyTable& _smPropertyTable; \
|
||||
const EngineTypeInfo* __typeinfo() const override; \
|
||||
public:
|
||||
|
||||
/// Declare an abstract base class @a type derived from the class @a super.
|
||||
///
|
||||
/// Nearly identical to DECLARE_ABSTRACT_CLASS macro, but with virtual methods
|
||||
/// that are suppose to be override'd in child classes.
|
||||
///
|
||||
/// @see DECLARE_ABSTRACT_CLASS
|
||||
#define DECLARE_ABSTRACT_BASE_CLASS(type) \
|
||||
public: \
|
||||
typedef type ThisType; \
|
||||
typedef void SuperType; \
|
||||
template< typename T > friend struct ::_EngineTypeTraits; \
|
||||
template< typename T > friend struct ::_SCOPE; \
|
||||
template< typename T > friend T* _CREATE(); \
|
||||
template< typename T, typename Base > friend class ::EngineClassTypeInfo; \
|
||||
private: \
|
||||
typedef ::_Private::_AbstractClassBase< ThisType > _ClassBase; \
|
||||
static EngineClassTypeInfo< ThisType, _ClassBase > _smTypeInfo; \
|
||||
|
|
@ -504,7 +526,7 @@ class EngineObject : public StrongRefBase
|
|||
{
|
||||
public:
|
||||
|
||||
DECLARE_ABSTRACT_CLASS( EngineObject, void );
|
||||
DECLARE_ABSTRACT_BASE_CLASS( EngineObject );
|
||||
DECLARE_INSCOPE( _GLOBALSCOPE );
|
||||
DECLARE_INSTANTIABLE;
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue