From 208e23de77ad6d104f13a0bb591ae16c4a805fe9 Mon Sep 17 00:00:00 2001 From: chai Date: Tue, 26 Oct 2021 23:20:45 +0800 Subject: *load image async --- .../GameLab/Engine/Resource/ImageDataRequest.lua | 10 ++++++++++ .../Libraries/GameLab/Engine/Resource/init.lua | 20 ++++++++++++++++++++ 2 files changed, 30 insertions(+) create mode 100644 Data/DefaultContent/Libraries/GameLab/Engine/Resource/ImageDataRequest.lua create mode 100644 Data/DefaultContent/Libraries/GameLab/Engine/Resource/init.lua (limited to 'Data/DefaultContent') diff --git a/Data/DefaultContent/Libraries/GameLab/Engine/Resource/ImageDataRequest.lua b/Data/DefaultContent/Libraries/GameLab/Engine/Resource/ImageDataRequest.lua new file mode 100644 index 0000000..f7d7bbe --- /dev/null +++ b/Data/DefaultContent/Libraries/GameLab/Engine/Resource/ImageDataRequest.lua @@ -0,0 +1,10 @@ +local ImageDataRequest = GameLab.Class("GameLab.Engine.Resource.ImageDataRequest") + +ImageDataRequest.Ctor = function(self) + self.isDone = false + self.hasError = false + self.error = 0 + self.imageData = nil +end + +return ImageDataRequest \ No newline at end of file diff --git a/Data/DefaultContent/Libraries/GameLab/Engine/Resource/init.lua b/Data/DefaultContent/Libraries/GameLab/Engine/Resource/init.lua new file mode 100644 index 0000000..dd37dbb --- /dev/null +++ b/Data/DefaultContent/Libraries/GameLab/Engine/Resource/init.lua @@ -0,0 +1,20 @@ +local m = GameLab.Engine.Resource or {} +GameLab.Engine.Resource = m +local import = GameLab.import(...) + +-- classes + +m.ImageDataRequest = import("ImageDataRequest") + +-- methods + +m.LoadImageDataAsync = function(path) + local request = GameLab.Engine.ImageDataRequest.New() + m.ReadImageDataAsync(path, function(imgData) + request.isDone = true + request.imageData = imgData + end) + return request +end + +return m \ No newline at end of file -- cgit v1.1-26-g67d0