Browse Source

add has_user_data with type

David Rose 22 years ago
parent
commit
78f67d8afd
2 changed files with 12 additions and 0 deletions
  1. 11 0
      panda/src/egg/eggObject.I
  2. 1 0
      panda/src/egg/eggObject.h

+ 11 - 0
panda/src/egg/eggObject.I

@@ -92,6 +92,17 @@ has_user_data() const {
   return !_user_data.is_null();
   return !_user_data.is_null();
 }
 }
 
 
+////////////////////////////////////////////////////////////////////
+//     Function: EggObject::has_user_data
+//       Access: Public
+//  Description: Returns true if the user data pointer has been set
+//               and is of the indicated type, false otherwise.
+////////////////////////////////////////////////////////////////////
+INLINE bool EggObject::
+has_user_data(TypeHandle type) const {
+  return !_user_data.is_null() && _user_data->is_of_type(type);
+}
+
 ////////////////////////////////////////////////////////////////////
 ////////////////////////////////////////////////////////////////////
 //     Function: EggObject::clear_user_data
 //     Function: EggObject::clear_user_data
 //       Access: Public
 //       Access: Public

+ 1 - 0
panda/src/egg/eggObject.h

@@ -40,6 +40,7 @@ public:
   INLINE void set_user_data(EggUserData *user_data);
   INLINE void set_user_data(EggUserData *user_data);
   INLINE EggUserData *get_user_data() const;
   INLINE EggUserData *get_user_data() const;
   INLINE bool has_user_data() const;
   INLINE bool has_user_data() const;
+  INLINE bool has_user_data(TypeHandle type) const;
   INLINE void clear_user_data();
   INLINE void clear_user_data();
 
 
 private:
 private: