You.i Engine
YiAssetDecoderScript.h
Go to the documentation of this file.
1 // © You i Labs Inc. 2000-2017. All rights reserved.
2 #ifndef _YI_ASSET_DECODER_SCRIPT_H_
3 #define _YI_ASSET_DECODER_SCRIPT_H_
4 
5 #include "asset/YiAssetDecoder.h"
6 #include "utility/YiRtti.h"
7 
8 class CYIAsset;
9 class CYIAssetScript;
10 class CYIString;
11 class CYIAssetLoadParams;
12 
28 {
29 public:
30 
32  virtual ~CYIAssetDecoderScript();
33 
34  // CYIAssetDecoder Virtuals
35  virtual bool SupportsParams(const CYIAssetLoadParams *pDecodeParams) override;
36  virtual bool IsFormatSupported(const uint8_t *pData, uint32_t nDataSize) override;
37  virtual std::shared_ptr<CYIAsset> DecodeAsset(const CYIString &path, const CYIAssetLoadParams *pDecodeParams) override;
38  virtual std::shared_ptr<CYIAsset> DecodeAsset(const uint8_t *pData, uint32_t nDataSize, const CYIAssetLoadParams *pDecodeParams) override;
39  virtual bool DecodeAsset(const std::shared_ptr<CYIAsset> &pAsset) override;
40  virtual bool DecodeAsset(const std::shared_ptr<CYIAsset> &pAsset, const uint8_t *pData, uint32_t uDataSize) override;
41 
42 private:
43  bool PopulateScript(const std::shared_ptr<CYIAssetScript> &pAsset, const CYIString &path, const CYIAssetLoadParams *pDecodeParams);
44  bool PopulateScript(const std::shared_ptr<CYIAssetScript> &pAsset, const uint8_t *pData, uint32_t nDataSize, const CYIAssetLoadParams *pDecodeParams);
45 
47 };
48 
53 #endif
virtual std::shared_ptr< CYIAsset > DecodeAsset(const CYIString &path, const CYIAssetLoadParams *pDecodeParams) override
virtual bool SupportsParams(const CYIAssetLoadParams *pDecodeParams) override
Container class for Unicode strings. Conceptually, a CYIString object is a sequence of Unicode charac...
Definition: YiString.h:35
#define YI_TYPE_BASES(...)
Definition: YiRtti.h:350
virtual bool IsFormatSupported(const uint8_t *pData, uint32_t nDataSize) override
Base class for decoders which can accept specialized parameter objects.
Definition: YiAssetLoadParams.h:16
Base class for any asset. An asset provides functions for dynamically loading and unloading itself an...
Definition: YiAsset.h:33
Base class for all specialized decoders.
Definition: YiAssetDecoder.h:22
Represents the contents of a script source file.
Definition: YiAssetScript.h:24
This file contains the classes and macros used to implement RTTI in You.i Engine. ...
virtual ~CYIAssetDecoderScript()
Decodes a script source file.
Definition: YiAssetDecoderScript.h:27