From 70b82d1981c0de3c7b77670ff8abcfeb26815142 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 12 Mar 2019 00:39:26 +0800 Subject: *misc --- Source/Asura.Engine/FileSystem/DataBuffer.h | 12 ++++++------ Source/Asura.Engine/FileSystem/DecodedData.h | 8 ++++---- Source/Asura.Engine/FileSystem/Reloadable.h | 11 +++++++---- Source/Asura.Engine/FileSystem/ResourceManager.h | 4 ++-- 4 files changed, 19 insertions(+), 16 deletions(-) (limited to 'Source/Asura.Engine/FileSystem') diff --git a/Source/Asura.Engine/FileSystem/DataBuffer.h b/Source/Asura.Engine/FileSystem/DataBuffer.h index f7d8cba..84d445c 100644 --- a/Source/Asura.Engine/FileSystem/DataBuffer.h +++ b/Source/Asura.Engine/FileSystem/DataBuffer.h @@ -4,7 +4,7 @@ #include #include "Scripting/Luax.hpp" -#include "Object.h" +#include "Scripting/Portable.h" namespace AsuraEngine { @@ -14,17 +14,17 @@ namespace AsuraEngine /// /// 对内存数据的封装,所有的数据使用Data buffer包装,不直接使用const void*。通过resource manager读取。 /// - class DataBuffer final : virtual public Object, public Scripting::Portable + class DataBuffer ASURA_FINAL: public Scripting::Portable { public: DataBuffer(const void* data, std::size_t size); - virtual ~DataBuffer(); + ~DataBuffer(); + + byte* data; + size_t size; - const void* data; - std::size_t size; - //---------------------------------------------------------------------------------------------------------- LUAX_DECL_FACTORY(DataBuffer); diff --git a/Source/Asura.Engine/FileSystem/DecodedData.h b/Source/Asura.Engine/FileSystem/DecodedData.h index 927052f..0b661b6 100644 --- a/Source/Asura.Engine/FileSystem/DecodedData.h +++ b/Source/Asura.Engine/FileSystem/DecodedData.h @@ -4,7 +4,7 @@ #include #include "DataBuffer.h" -#include "Object.h" +#include "Scripting/Portable.h" namespace AsuraEngine { @@ -15,14 +15,14 @@ namespace AsuraEngine /// 可以在另一个线程构建的data继承此类。如图片数据、音频数据等,可以在另一个线程中解析原文件,生成内部数据格式,如像素 /// 等。 /// - class DecodedData : virtual public Object + ASURA_ABSTRACT class DecodedData { public: /// /// 从内存中构建data,可以放在另一个线程里面,从资源管理系统里面加载。 /// - DecodedData(const DataBuffer* databuffer); + DecodedData(const DataBuffer& databuffer); virtual ~DecodedData(); @@ -31,7 +31,7 @@ namespace AsuraEngine /// /// 解码内存中的数据。 /// - virtual void Decode(const DataBuffer* buffer) = 0; + virtual void Decode(const DataBuffer& buffer) = 0; }; diff --git a/Source/Asura.Engine/FileSystem/Reloadable.h b/Source/Asura.Engine/FileSystem/Reloadable.h index e07b094..eb35d3e 100644 --- a/Source/Asura.Engine/FileSystem/Reloadable.h +++ b/Source/Asura.Engine/FileSystem/Reloadable.h @@ -1,20 +1,23 @@ #ifndef __ASURA_ENGINE_RELOADABLE_H__ #define __ASURA_ENGINE_RELOADABLE_H__ -#include "Object.h" +#include "Scripting/Portable.h" namespace AsuraEngine { namespace Filesystem { - class Reloadable : virtual public Object + /// + /// 可以重新构建的数据结构。比如图片、音频这种,从外部数据可以直接构建,可以在编辑器内重新构建,适用于不改变handle的资源。 + /// + ASURA_ABSTRACT class Reloadable { public: Reloadable(); - ~Reloadable(); + virtual ~Reloadable(); - virtual bool Load(); + // 继承Reloadable的需要提供一个load方法 }; diff --git a/Source/Asura.Engine/FileSystem/ResourceManager.h b/Source/Asura.Engine/FileSystem/ResourceManager.h index b4aef54..e22ce91 100644 --- a/Source/Asura.Engine/FileSystem/ResourceManager.h +++ b/Source/Asura.Engine/FileSystem/ResourceManager.h @@ -4,7 +4,7 @@ #include #include "DataBuffer.h" -#include "Object.h" +#include "Scripting/Portable.h" namespace AsuraEngine { @@ -14,7 +14,7 @@ namespace AsuraEngine /// /// 资源管理,负责加载、存储资源,指定根目录等。 /// - class ResourceManager final : virtual public Object + class ResourceManager ASURA_FINAL { public: -- cgit v1.1-26-g67d0