C

QSafeStateLoader 类

class SafeRenderer::QSafeStateLoader

QSafeStateLoader 类加载状态定义文件。 更多...

头文件 #include <QSafeStateLoader>
QtSafeRenderer 1.2
继承者

SafeRenderer::QSafeStateFileReaderSafeRenderer::QSafeStateResourceReader

此类是在 QtSafeRenderer 1.2 中引入的。

公共类型

枚举StateFileReaderException { OutOfCache, DataCorrupted, InvalidData, UnsupportedAnimationType }

公共函数

QSafeStateLoader()
虚拟~QSafeStateLoader()
虚拟 voidloadFile(const SafeRenderer::QSafeFileInfo &fileInfo, const SafeRenderer::quint32 crc, SafeRenderer::QSafeStateTransition &statesArg) const = 0

静态公共成员

voidloadStates(const SafeRenderer::QSafeByteArray &stateAsset, SafeRenderer::QSafeStateTransition &stateContainer)

详细说明

QSafeStateLoader 类加载状态定义文件。QSafeStateLoader 是一个抽象类。派生类必须实现 QSafeStateLoader::loadFile 方法。

成员类型文档

枚举 QSafeStateLoader::StateFileReaderException

此枚举描述了安全状态加载器异常。

常量描述
SafeRenderer::QSafeStateLoader::OutOfCache0索引超出缓存。
SafeRenderer::QSafeStateLoader::DataCorrupted1数据已损坏。
SafeRenderer::QSafeStateLoader::InvalidData2数据无效。
SafeRenderer::QSafeStateLoader::UnsupportedAnimationType3不支持的动画类型。

成员函数文档

QSafeStateLoader::QSafeStateLoader()

构造一个 QSafeStateLoader 对象。

[虚拟] QSafeStateLoader::~QSafeStateLoader()

销毁一个 QSafeStateLoader 对象。

[纯虚拟] void QSafeStateLoader::loadFile(const SafeRenderer::QSafeFileInfo &fileInfo, const SafeRenderer::quint32 crc, SafeRenderer::QSafeStateTransition &statesArg) const

fileInfo 加载状态定义到 statesArgcrc 的值必须与文件的 CRC 相匹配。此函数必须在派生类中实现。

[静态] void QSafeStateLoader::loadStates(const SafeRenderer::QSafeByteArray &stateAsset, SafeRenderer::QSafeStateTransition &stateContainer)

stateAsset 加载状态定义到 stateContainer

如果失败,将抛出以下异常之一

常量描述
SafeRenderer::QSafeByteArray::ByteArrayReaderException文件中的数据大小不一致。
SafeRenderer::QSafeStateLoader::StateFileReaderException::InvalidData动画数据包含未知的数据类型。
SafeRenderer::QSafeStateLoader::StateFileReaderException::UnsupportedAnimationType动画类型不受支持。
SafeRenderer::QSafeStates::IndexOutOfBounds状态数量超过约束::MAX_NUM_OF_STATES
SafeRenderer::QSafeAnimations::IndexOutOfBounds转换数量超过约束::MAX_NUM_OF_ANIMATIONS_PER_ITEM

在某些Qt许可证下可用。
了解更多。