#pragma once #include <string> #include "2d/CCSpriteSheetLoader.h" #include "base/CCValue.h" #include "base/CCData.h" NS_CC_BEGIN class PlistSpriteSheetLoader : public SpriteSheetLoader { public: static constexpr uint32_t FORMAT = SpriteSheetFormat::PLIST; uint32_t getFormat() override { return FORMAT; } void load(const std::string& filePath, SpriteFrameCache& cache) override; void load(const std::string& filePath, Texture2D* texture, SpriteFrameCache& cache) override; void load(const std::string& filePath, const std::string& textureFileName, SpriteFrameCache& cache) override; void load(const Data& content, Texture2D* texture, SpriteFrameCache& cache) override; void reload(const std::string& filePath, SpriteFrameCache& cache) override; protected: /*Adds multiple Sprite Frames with a dictionary. The texture will be associated with the created sprite frames. */ void addSpriteFramesWithDictionary(ValueMap& dictionary, Texture2D* texture, const std::string& plist, SpriteFrameCache& cache); /*Adds multiple Sprite Frames with a dictionary. The texture will be associated with the created sprite frames. */ void addSpriteFramesWithDictionary(ValueMap& dict, const std::string& texturePath, const std::string& plist, SpriteFrameCache& cache); void reloadSpriteFramesWithDictionary(ValueMap& dict, Texture2D* texture, const std::string& plist, SpriteFrameCache& cache); }; NS_CC_END