CCNodeLoaderLibrary.h 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. #ifndef _CCB_CCNODELOADERLIBRARY_H_
  2. #define _CCB_CCNODELOADERLIBRARY_H_
  3. #include "editor-support/cocosbuilder/CCBReader.h"
  4. namespace cocosbuilder {
  5. class NodeLoader;
  6. typedef std::map<std::string, NodeLoader *> NodeLoaderMap;
  7. typedef std::pair<std::string, NodeLoader *> NodeLoaderMapEntry;
  8. class CC_DLL NodeLoaderLibrary : public cocos2d::Ref
  9. {
  10. public:
  11. /**
  12. * @js NA
  13. * @lua NA
  14. */
  15. CCB_STATIC_NEW_AUTORELEASE_OBJECT_METHOD(NodeLoaderLibrary, library);
  16. /**
  17. * @js NA
  18. * @lua NA
  19. */
  20. NodeLoaderLibrary();
  21. /**
  22. * @js NA
  23. * @lua NA
  24. */
  25. virtual ~NodeLoaderLibrary();
  26. /**
  27. * @js NA
  28. * @lua NA
  29. */
  30. void registerDefaultNodeLoaders();
  31. /**
  32. * @js NA
  33. * @lua NA
  34. */
  35. void registerNodeLoader(const char * pClassName, NodeLoader * pNodeLoader);
  36. //void registerNodeLoader(String * pClassName, NodeLoader * pNodeLoader);
  37. /**
  38. * @js NA
  39. * @lua NA
  40. */
  41. void unregisterNodeLoader(const char * pClassName);
  42. //void unregisterNodeLoader(String * pClassName);
  43. /**
  44. * @js NA
  45. * @lua NA
  46. */
  47. NodeLoader * getNodeLoader(const char * pClassName);
  48. //CCNodeLoader * getNodeLoader(String * pClassName);
  49. /**
  50. * @js NA
  51. * @lua NA
  52. */
  53. void purge(bool pDelete);
  54. /**
  55. * @js NA
  56. * @lua NA
  57. */
  58. CC_DEPRECATED_ATTRIBUTE void registerDefaultCCNodeLoaders() { registerDefaultNodeLoaders(); }
  59. /**
  60. * @js NA
  61. * @lua NA
  62. */
  63. CC_DEPRECATED_ATTRIBUTE void registerCCNodeLoader(const char * pClassName, NodeLoader * pNodeLoader) { registerNodeLoader(pClassName, pNodeLoader); };
  64. /**
  65. * @js NA
  66. * @lua NA
  67. */
  68. CC_DEPRECATED_ATTRIBUTE void unregisterCCNodeLoader(const char * pClassName) { unregisterNodeLoader(pClassName); };
  69. /**
  70. * @js NA
  71. * @lua NA
  72. */
  73. CC_DEPRECATED_ATTRIBUTE NodeLoader * getCCNodeLoader(const char * pClassName) { return getNodeLoader(pClassName); };
  74. public:
  75. /**
  76. * @js NA
  77. * @lua NA
  78. */
  79. static NodeLoaderLibrary * getInstance();
  80. /**
  81. * @js NA
  82. * @lua NA
  83. */
  84. static void destroyInstance();
  85. /**
  86. * @js NA
  87. * @lua NA
  88. */
  89. static NodeLoaderLibrary * newDefaultNodeLoaderLibrary();
  90. /**
  91. * @js NA
  92. * @lua NA
  93. */
  94. CC_DEPRECATED_ATTRIBUTE static NodeLoaderLibrary * sharedNodeLoaderLibrary() { return NodeLoaderLibrary::getInstance(); };
  95. /**
  96. * @js NA
  97. * @lua NA
  98. */
  99. CC_DEPRECATED_ATTRIBUTE static void purgeSharedNodeLoaderLibrary() { NodeLoaderLibrary::destroyInstance(); };
  100. /**
  101. * @js NA
  102. * @lua NA
  103. */
  104. CC_DEPRECATED_ATTRIBUTE static NodeLoaderLibrary * newDefaultCCNodeLoaderLibrary() { return NodeLoaderLibrary::newDefaultNodeLoaderLibrary(); };
  105. private:
  106. NodeLoaderMap _nodeLoaders;
  107. };
  108. }
  109. #endif