📄 atflashimporter.h
字号:
#ifndef AtFlashImporter_h_
#define AtFlashImporter_h_
#pragma warning( disable : 4786 )
#include <map>
#include "FImport.h"
#include "FShape.h"
#include "AtFlash.h"
/* A map of old shape tags to new character IDs.
* Each flash file is imported with a different set of shapes, and different but
* initially overlapping shape ids. Each file also has place object tags that refer
* to the ids in the same file.
* We need to remap the ids. The ids get remapped from the local, private space of
* the characters, to the global space of the engine, using this map.
* The key is the old tag, the value is the new id.
*/
typedef std::map<int, int> AtFlashIdMap;
class AtFlashImportHandler : public FlashImportHandler
{
AtFlashIdMap mIdMap;
AtFlash * mFlash;
public:
AtFlashImportHandler( AtFlash *flash )
{
mFlash = flash;
}
~AtFlashImportHandler();
virtual void Import(FlashHeader &data);
virtual void Import(FlashTagHeader &data);
virtual void Import(FlashTagRemoveObject *data);
virtual void Import(FlashTagRemoveObject2 *data);
virtual void Import(FlashTagPlaceObject *data);
virtual void Import(FlashTagPlaceObject2 *data);
virtual void Import(FlashTagShowFrame *data);
virtual void Import(FlashTagBackgroundColor *data);
virtual void Import(FlashTagLabelFrame *data);
virtual void Import(FlashTagProtect *data);
virtual void Import(FlashTagEnd *data);
virtual void Import(FlashTagExportAssets *data);
virtual void Import(FlashTagImportAssets *data);
virtual void Import(FlashTagDefineBitsPtr *data);
virtual void Import(FlashTagEnableDebugger *data);
virtual void Import(FlashTagFreeCharacter *data);
virtual void Import(FlashTagDefineBitsJPEG1 *data);
virtual void Import(FlashTagJPEGTables *data);
virtual void Import(FlashTagDefineBitsJPEG2 *data);
virtual void Import(FlashTagDefineBitsJPEG3 *data);
virtual void Import(FlashTagDefineBitsLossless *data);
virtual void Import(FlashTagDefineBitsLossless2 *data);
virtual void Import(FlashTagDefineShape1 *data);
virtual void Import(FlashTagDefineShape2 *data);
virtual void Import(FlashTagDefineShape3 *data);
virtual void Import(FlashTagDefineSound *data);
virtual void Import(FlashTagDefineSoundMP3 *data);
virtual void Import(FlashTagStartSound *data);
virtual void Import(FlashTagSoundStreamHead *data);
virtual void Import(FlashTagSoundStreamHead2 *data);
virtual void Import(FlashTagSoundStreamBlock *data);
virtual void Import(FlashTagDoAction *data);
};
// Based on FlashImporter, but very different implementation
class AtFlashImporter
{
public:
AtFlashImporter() {}
FlashHeader ImportHeader(std::istream &in, AtFlashImportHandler &i);
bool ImportTag(std::istream &in, AtFlashImportHandler &i);
};
#endif
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -