axmol/cocos/2d/CCPlistSpriteSheetLoader.h

45 lines
1.8 KiB
C++

#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