Object.pkg 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. $#include "Object.h"
  2. class Object : public RefCounted
  3. {
  4. virtual ShortStringHash GetType() const;
  5. // virtual const String& GetTypeName() const;
  6. tolua_outside const char* ObjectGetTypeName @ GetTypeName() const;
  7. // void SendEvent(StringHash eventType);
  8. tolua_outside void ObjectSendEvent @ SendEvent(const char* eventName);
  9. // void SendEvent(StringHash eventType, VariantMap& eventData);
  10. tolua_outside void ObjectSendEvent @ SendEvent(const char* eventName, VariantMap& eventData);
  11. Context* GetContext() const;
  12. Object* GetEventSender() const;
  13. EventHandler* GetEventHandler() const;
  14. const String& GetCategory() const;
  15. tolua_readonly tolua_property__get_set Context* context;
  16. tolua_readonly tolua_property__get_set Object* eventSender;
  17. tolua_readonly tolua_property__get_set EventHandler* eventHandler;
  18. tolua_readonly tolua_property__get_set String& category;
  19. };
  20. ${
  21. static const char* ObjectGetTypeName(const Object* object)
  22. {
  23. return object->GetTypeName().CString();
  24. }
  25. static void ObjectSendEvent(Object* object, const char* eventName)
  26. {
  27. object->SendEvent(StringHash(eventName));
  28. }
  29. static void ObjectSendEvent(Object* object, const char* eventName, VariantMap& eventData)
  30. {
  31. object->SendEvent(StringHash(eventName), eventData);
  32. }
  33. $}