diff options
Diffstat (limited to 'Source/Asura.Framework')
-rw-r--r-- | Source/Asura.Framework/Class.lua | 16 | ||||
-rw-r--r-- | Source/Asura.Framework/Graphics/Animator.lua | 21 | ||||
-rw-r--r-- | Source/Asura.Framework/Graphics/Renderer.lua | 10 | ||||
-rw-r--r-- | Source/Asura.Framework/Graphics/sprite_renderer.lua | 4 | ||||
-rw-r--r-- | Source/Asura.Framework/class.lua | 16 | ||||
-rw-r--r-- | Source/Asura.Framework/graphics/animator.lua | 21 | ||||
-rw-r--r-- | Source/Asura.Framework/graphics/renderer.lua | 10 | ||||
-rw-r--r-- | Source/Asura.Framework/graphics/sprite_renderer.lua | 4 |
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 |