Object.pkg 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637
  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. tolua_outside void ObjectSendEvent @ SendEvent(const String eventName, VariantMap* eventData = 0);
  8. tolua_outside bool ObjectHasSubscribedToEvent @ HasSubscribedToEvent(const String eventName) const;
  9. tolua_outside bool ObjectHasSubscribedToSenderEvent @ HasSubscribedToEvent(Object* sender, const String eventName) const;
  10. tolua_readonly tolua_property__get_set StringHash type;
  11. tolua_readonly tolua_property__get_set const String typeName;
  12. tolua_readonly tolua_property__get_set const String category;
  13. };
  14. ${
  15. static void ObjectSendEvent(Object* object, const String eventName, VariantMap* eventData = 0)
  16. {
  17. if (eventData)
  18. object->SendEvent(StringHash(eventName), *eventData);
  19. else
  20. object->SendEvent(StringHash(eventName));
  21. }
  22. static bool ObjectHasSubscribedToEvent(const Object* object, const String eventName)
  23. {
  24. return object->HasSubscribedToEvent(StringHash(eventName));
  25. }
  26. static bool ObjectHasSubscribedToSenderEvent(const Object* object, Object* sender, const String eventName)
  27. {
  28. return object->HasSubscribedToEvent(sender, StringHash(eventName));
  29. }
  30. $}