summaryrefslogtreecommitdiff
path: root/Data
diff options
context:
space:
mode:
Diffstat (limited to 'Data')
-rw-r--r--Data/DefaultContent/Libraries/GameLab/Engine/Resource/ImageDataRequest.lua10
-rw-r--r--Data/DefaultContent/Libraries/GameLab/Engine/Resource/init.lua20
-rw-r--r--Data/Scripts/EditorApplication.lua10
-rw-r--r--Data/boot.lua1
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"