Object.pkg 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. $#include "Core/Object.h"
  2. class Object : public RefCounted
  3. {
  4. StringHash GetType() const;
  5. const String GetTypeName() const;
  6. const String GetCategory() const;
  7. void SetBlockEvents(bool block);
  8. bool GetBlockEvents() const;
  9. tolua_outside void ObjectSendEvent @ SendEvent(const String eventName, VariantMap* eventData = 0);
  10. tolua_outside bool ObjectHasSubscribedToEvent @ HasSubscribedToEvent(const String eventName) const;
  11. tolua_outside bool ObjectHasSubscribedToSenderEvent @ HasSubscribedToEvent(Object* sender, const String eventName) const;
  12. tolua_readonly tolua_property__get_set StringHash type;
  13. tolua_readonly tolua_property__get_set const String typeName;
  14. tolua_readonly tolua_property__get_set const String category;
  15. };
  16. ${
  17. static void ObjectSendEvent(Object* object, const String eventName, VariantMap* eventData = 0)
  18. {
  19. if (eventData)
  20. object->SendEvent(StringHash(eventName), *eventData);
  21. else
  22. object->SendEvent(StringHash(eventName));
  23. }
  24. static bool ObjectHasSubscribedToEvent(const Object* object, const String eventName)
  25. {
  26. return object->HasSubscribedToEvent(StringHash(eventName));
  27. }
  28. static bool ObjectHasSubscribedToSenderEvent(const Object* object, Object* sender, const String eventName)
  29. {
  30. return object->HasSubscribedToEvent(sender, StringHash(eventName));
  31. }
  32. $}