summaryrefslogtreecommitdiff
path: root/Source/Asura.Framework
diff options
context:
space:
mode:
Diffstat (limited to 'Source/Asura.Framework')
-rw-r--r--Source/Asura.Framework/Class.lua16
-rw-r--r--Source/Asura.Framework/Graphics/Animator.lua21
-rw-r--r--Source/Asura.Framework/Graphics/Renderer.lua10
-rw-r--r--Source/Asura.Framework/Graphics/sprite_renderer.lua4
-rw-r--r--Source/Asura.Framework/class.lua16
-rw-r--r--Source/Asura.Framework/graphics/animator.lua21
-rw-r--r--Source/Asura.Framework/graphics/renderer.lua10
-rw-r--r--Source/Asura.Framework/graphics/sprite_renderer.lua4
8 files changed, 84 insertions, 18 deletions
diff --git a/Source/Asura.Framework/Class.lua b/Source/Asura.Framework/Class.lua
index 164cb4a..ee30c8d 100644
--- a/Source/Asura.Framework/Class.lua
+++ b/Source/Asura.Framework/Class.lua
@@ -1,4 +1,16 @@
-local Class = {}
-AsuraEngine.Class = Class
+AsuraEngine.Class = {}
+local Class = AsuraEngine.Class
+Class.__index = Class
+function AsuraEngine.Class.Sub(cname)
+ local c = {}
+ c.class = cname
+ setmetatable(c, Class)
+ return c
+end
+function AsuraEngine.Class.New(self)
+ local obj = {}
+ setmetatable(obj, self)
+ self.__index = self
+end
diff --git a/Source/Asura.Framework/Graphics/Animator.lua b/Source/Asura.Framework/Graphics/Animator.lua
index 2e52104..8c8a185 100644
--- a/Source/Asura.Framework/Graphics/Animator.lua
+++ b/Source/Asura.Framework/Graphics/Animator.lua
@@ -1,11 +1,20 @@
-local Animator = Class(function(go)
- self.gameobject = go
+AsuraEngine.Animator = AsuraEngine.Component.Sub("Animator")
+
+local Animator = AsuraEngine.Animator
+
+function Animator:Ctor(go, animation)
+ self.base(go)
self.spriteRenderer = go:GetSpriteRenderer()
-end)
+ self.animation = animation
+end
-Animator.animation = AsuraEngine.Animation.None
+function Animator:SetAnimation(animation)
+ self.animation = animation
+end
-local animation = AsuraEngine.Animation.New()
+function Animator:GetAnimation()
+ return self.animation
+end
function Animator:OnUpdate(dt)
@@ -14,5 +23,3 @@ end
function Animator:OnRender()
end
-
-return Animator \ No newline at end of file
diff --git a/Source/Asura.Framework/Graphics/Renderer.lua b/Source/Asura.Framework/Graphics/Renderer.lua
index 9e75026..82a8e99 100644
--- a/Source/Asura.Framework/Graphics/Renderer.lua
+++ b/Source/Asura.Framework/Graphics/Renderer.lua
@@ -1,9 +1,19 @@
local Renderer = AsuraEngine.Component.Sub("Renderer")
AsuraEngine.Renderer = Renderer
+function Renderer.Ctor(self)
+ self.materials = {}
+ self.material = nil
+ self.isMultiMaterials = false
+end
+
--取材质,如果是shared,那么从此材质clone一个
function Renderer.GetMaterial(self)
end
+function Renderer.isMultiMaterials(self)
+ return self.isMultiMaterials
+end
+
return Renderer \ No newline at end of file
diff --git a/Source/Asura.Framework/Graphics/sprite_renderer.lua b/Source/Asura.Framework/Graphics/sprite_renderer.lua
index 1cbebd7..925e8b1 100644
--- a/Source/Asura.Framework/Graphics/sprite_renderer.lua
+++ b/Source/Asura.Framework/Graphics/sprite_renderer.lua
@@ -3,6 +3,10 @@ require "graphics.renderer"
local SpriteRenderer = AsuraEngine.Renderer.Sub("Spriterenderer")
AsuraEngine.SpriteRenderer = SpriteRenderer
+function SpriteRenderer.Ctor(self)
+ self.materials = {}
+end
+
function SpriteRenderer:OnRender()
end
diff --git a/Source/Asura.Framework/class.lua b/Source/Asura.Framework/class.lua
index 164cb4a..ee30c8d 100644
--- a/Source/Asura.Framework/class.lua
+++ b/Source/Asura.Framework/class.lua
@@ -1,4 +1,16 @@
-local Class = {}
-AsuraEngine.Class = Class
+AsuraEngine.Class = {}
+local Class = AsuraEngine.Class
+Class.__index = Class
+function AsuraEngine.Class.Sub(cname)
+ local c = {}
+ c.class = cname
+ setmetatable(c, Class)
+ return c
+end
+function AsuraEngine.Class.New(self)
+ local obj = {}
+ setmetatable(obj, self)
+ self.__index = self
+end
diff --git a/Source/Asura.Framework/graphics/animator.lua b/Source/Asura.Framework/graphics/animator.lua
index 2e52104..8c8a185 100644
--- a/Source/Asura.Framework/graphics/animator.lua
+++ b/Source/Asura.Framework/graphics/animator.lua
@@ -1,11 +1,20 @@
-local Animator = Class(function(go)
- self.gameobject = go
+AsuraEngine.Animator = AsuraEngine.Component.Sub("Animator")
+
+local Animator = AsuraEngine.Animator
+
+function Animator:Ctor(go, animation)
+ self.base(go)
self.spriteRenderer = go:GetSpriteRenderer()
-end)
+ self.animation = animation
+end
-Animator.animation = AsuraEngine.Animation.None
+function Animator:SetAnimation(animation)
+ self.animation = animation
+end
-local animation = AsuraEngine.Animation.New()
+function Animator:GetAnimation()
+ return self.animation
+end
function Animator:OnUpdate(dt)
@@ -14,5 +23,3 @@ end
function Animator:OnRender()
end
-
-return Animator \ No newline at end of file
diff --git a/Source/Asura.Framework/graphics/renderer.lua b/Source/Asura.Framework/graphics/renderer.lua
index 9e75026..82a8e99 100644
--- a/Source/Asura.Framework/graphics/renderer.lua
+++ b/Source/Asura.Framework/graphics/renderer.lua
@@ -1,9 +1,19 @@
local Renderer = AsuraEngine.Component.Sub("Renderer")
AsuraEngine.Renderer = Renderer
+function Renderer.Ctor(self)
+ self.materials = {}
+ self.material = nil
+ self.isMultiMaterials = false
+end
+
--取材质,如果是shared,那么从此材质clone一个
function Renderer.GetMaterial(self)
end
+function Renderer.isMultiMaterials(self)
+ return self.isMultiMaterials
+end
+
return Renderer \ No newline at end of file
diff --git a/Source/Asura.Framework/graphics/sprite_renderer.lua b/Source/Asura.Framework/graphics/sprite_renderer.lua
index 1cbebd7..925e8b1 100644
--- a/Source/Asura.Framework/graphics/sprite_renderer.lua
+++ b/Source/Asura.Framework/graphics/sprite_renderer.lua
@@ -3,6 +3,10 @@ require "graphics.renderer"
local SpriteRenderer = AsuraEngine.Renderer.Sub("Spriterenderer")
AsuraEngine.SpriteRenderer = SpriteRenderer
+function SpriteRenderer.Ctor(self)
+ self.materials = {}
+end
+
function SpriteRenderer:OnRender()
end