diff options
Diffstat (limited to 'Data')
-rw-r--r-- | Data/DefaultContent/Libraries/GameLab/Engine/Resource/ImageDataRequest.lua | 10 | ||||
-rw-r--r-- | Data/DefaultContent/Libraries/GameLab/Engine/Resource/init.lua | 20 | ||||
-rw-r--r-- | Data/Scripts/EditorApplication.lua | 10 | ||||
-rw-r--r-- | Data/boot.lua | 1 |
4 files changed, 38 insertions, 3 deletions
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 diff --git a/Data/Scripts/EditorApplication.lua b/Data/Scripts/EditorApplication.lua index 8b54e41..852069d 100644 --- a/Data/Scripts/EditorApplication.lua +++ b/Data/Scripts/EditorApplication.lua @@ -3,6 +3,7 @@ local inspect = require "inspect" local AssetBrowser = require "./Scripts/Editor/AssetBrowser" local EditorWindowManager = require "./Scripts/EditorGUI/EditorWindowManager" +local Resource = GameLab.Engine.Resource local Rendering = GameLab.Engine.Rendering local Debug = GameLab.Debug local GUI = GameLab.Editor.GUI @@ -69,9 +70,12 @@ Debug.Log(tostring(imgData:GetHeight())) local tex = Rendering.Texture.New(imgData, false) -while true do +local requets = Rendering.LoadImageDataAsync("./Resources/Images/brickwall.jpg") +while true do + if requets.isDone then + Debug.Log("read image done!!!") + end app:OnStep() app:PullMessage() - -end
\ No newline at end of file +end diff --git a/Data/boot.lua b/Data/boot.lua index 7e7cfdc..ad8f4da 100644 --- a/Data/boot.lua +++ b/Data/boot.lua @@ -26,6 +26,7 @@ require "GameLab" require "GameLab.Engine"
require "GameLab.Engine.Math"
require "GameLab.Engine.Rendering"
+require "GameLab.Engine.Resource"
require "GameLab.Engine.GL"
require "GameLab.Editor"
require "GameLab.Editor.GUI"
|