CCNodeLoaderLibrary

来源:互联网 发布:穿越火线 amd 优化 编辑:程序博客网 时间:2024/04/28 18:55

#ifndef _CCB_CCNODELOADERLIBRARY_H_

#define _CCB_CCNODELOADERLIBRARY_H_


#include "cocos2d.h"

#include "CCBReader.h"


NS_CC_EXT_BEGIN


class CCNodeLoader;


typedef std::map<std::string, CCNodeLoader *> CCNodeLoaderMap;

typedef std::pair<std::string, CCNodeLoader *> CCNodeLoaderMapEntry;


class CCNodeLoaderLibrary : public CCObject {

    private:

        CCNodeLoaderMap mCCNodeLoaders;


    public:

        CCB_STATIC_NEW_AUTORELEASE_OBJECT_METHOD(CCNodeLoaderLibrary, library);


        CCNodeLoaderLibrary();

        virtual ~CCNodeLoaderLibrary();


        void registerDefaultCCNodeLoaders();

        void registerCCNodeLoader(const char * pClassName, CCNodeLoader * pCCNodeLoader);

        //void registerCCNodeLoader(CCString * pClassName, CCNodeLoader * pCCNodeLoader);

        void unregisterCCNodeLoader(const char * pClassName);

        //void unregisterCCNodeLoader(CCString * pClassName);

        CCNodeLoader * getCCNodeLoader(const char * pClassName);

        //CCNodeLoader * getCCNodeLoader(CCString * pClassName);

        void purge(bool pDelete);


    public:

        static CCNodeLoaderLibrary * sharedCCNodeLoaderLibrary();

        static void purgeSharedCCNodeLoaderLibrary();


        static CCNodeLoaderLibrary * newDefaultCCNodeLoaderLibrary();

};


NS_CC_EXT_END


#endif


0 0
原创粉丝点击