diff options
-rw-r--r-- | Source/Asura.Framework/Component.lua | 10 | ||||
-rw-r--r-- | Source/Asura.Framework/Graphics/Animator.lua | 8 | ||||
-rw-r--r-- | Source/Asura.Framework/Graphics/mesh2d_renderer.lua | 4 | ||||
-rw-r--r-- | Source/Asura.Framework/Graphics/particle_system.lua | 20 | ||||
-rw-r--r-- | Source/Asura.Framework/Graphics/shape_renderer.lua | 13 | ||||
-rw-r--r-- | Source/Asura.Framework/Graphics/sprite_renderer.lua | 2 | ||||
-rw-r--r-- | Source/Asura.Framework/component.lua | 10 | ||||
-rw-r--r-- | Source/Asura.Framework/entity.lua | 15 | ||||
-rw-r--r-- | Source/Asura.Framework/filesystem/asset.lua | 13 | ||||
-rw-r--r-- | Source/Asura.Framework/graphics/animator.lua | 8 | ||||
-rw-r--r-- | Source/Asura.Framework/graphics/image.lua | 2 | ||||
-rw-r--r-- | Source/Asura.Framework/graphics/mesh2d_renderer.lua | 4 | ||||
-rw-r--r-- | Source/Asura.Framework/graphics/particle_system.lua | 20 | ||||
-rw-r--r-- | Source/Asura.Framework/graphics/shader.lua | 5 | ||||
-rw-r--r-- | Source/Asura.Framework/graphics/shape.lua | 12 | ||||
-rw-r--r-- | Source/Asura.Framework/graphics/shape_renderer.lua | 13 | ||||
-rw-r--r-- | Source/Asura.Framework/graphics/sprite_renderer.lua | 2 |
17 files changed, 121 insertions, 40 deletions
diff --git a/Source/Asura.Framework/Component.lua b/Source/Asura.Framework/Component.lua index b498a36..2954743 100644 --- a/Source/Asura.Framework/Component.lua +++ b/Source/Asura.Framework/Component.lua @@ -1,8 +1,8 @@ -local Component = AsuraEngine.Class("Component") +AsuraEngine.Component = AsuraEngine.Class("Component") -AsuraEngine.Component = Component +local Component = AsuraEngine.Component ---Component.gameobject = AsuraEngine.Type.GameObject +--Component.entity = AsuraEngine.Type.GameObject --派生新的组件 function Component.Sub(cname) @@ -11,7 +11,7 @@ function Component.Sub(cname) end function Component:Ctor(go) - self.gameobject = go + self.entity = go end function Component:OnEvent(e) @@ -25,5 +25,3 @@ end function Component:OnDraw() end - -return Component
\ No newline at end of file diff --git a/Source/Asura.Framework/Graphics/Animator.lua b/Source/Asura.Framework/Graphics/Animator.lua index 8c8a185..98baf0d 100644 --- a/Source/Asura.Framework/Graphics/Animator.lua +++ b/Source/Asura.Framework/Graphics/Animator.lua @@ -2,9 +2,9 @@ AsuraEngine.Animator = AsuraEngine.Component.Sub("Animator") local Animator = AsuraEngine.Animator -function Animator:Ctor(go, animation) - self.base(go) - self.spriteRenderer = go:GetSpriteRenderer() +function Animator:Ctor(entity, animation) + self.base(entity) + self.spriteRenderer = entity:GetSpriteRenderer() self.animation = animation end @@ -23,3 +23,5 @@ end function Animator:OnRender() end + +return Animator
\ No newline at end of file diff --git a/Source/Asura.Framework/Graphics/mesh2d_renderer.lua b/Source/Asura.Framework/Graphics/mesh2d_renderer.lua index 01f0d90..debfd37 100644 --- a/Source/Asura.Framework/Graphics/mesh2d_renderer.lua +++ b/Source/Asura.Framework/Graphics/mesh2d_renderer.lua @@ -1,5 +1,5 @@ -local Mesh2DRenderer = Class() - +local Mesh2DRenderer = AsuraEngine.Component.Sub("Mesh2DRenderer") +AsuraEngine.Mesh2DRenderer = Mesh2DRenderer return Mesh2DRenderer
\ No newline at end of file diff --git a/Source/Asura.Framework/Graphics/particle_system.lua b/Source/Asura.Framework/Graphics/particle_system.lua index a5f8015..17d52e7 100644 --- a/Source/Asura.Framework/Graphics/particle_system.lua +++ b/Source/Asura.Framework/Graphics/particle_system.lua @@ -1,6 +1,20 @@ -local ParticleSystem = AsuraEngine.Component.Sub("ParticleSystem") -AsuraEngine.ParticleSystem = ParticleSystem +require "graphics.sprite_renderer" -function ParticleSystem.Ctor(self) +AsuraEngine.ParticleSystem = AsuraEngine.Component.Sub("ParticleSystem") + +local ParticleSystem = AsuraEngine.ParticleSystem + +function ParticleSystem.Ctor(self, entity, def) + self.base(entity) + self.spriteRenderer = AsuraEngine.SpriteRenderer.New() +end + +function ParticleSystem.OnRenderer() end + +function ParticleSystem.OnUpdate(dt) + +end + +return ParticleSystem
\ No newline at end of file diff --git a/Source/Asura.Framework/Graphics/shape_renderer.lua b/Source/Asura.Framework/Graphics/shape_renderer.lua index e69de29..8c002a2 100644 --- a/Source/Asura.Framework/Graphics/shape_renderer.lua +++ b/Source/Asura.Framework/Graphics/shape_renderer.lua @@ -0,0 +1,13 @@ +AsuraEngine.ShapeRenderer = AsuraEngine.Component.Sub("ShapeRenderer") + +local ShapeRenderer = AsuraEngine.ShapeRenderer + +function ShapeRenderer.OnRenderer() + +end + +function ShapeRenderer.OnUpdate(dt) + +end + +return ShapeRenderer
\ 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 925e8b1..93937d7 100644 --- a/Source/Asura.Framework/Graphics/sprite_renderer.lua +++ b/Source/Asura.Framework/Graphics/sprite_renderer.lua @@ -10,3 +10,5 @@ end function SpriteRenderer:OnRender() end + +return SpriteRenderer
\ No newline at end of file diff --git a/Source/Asura.Framework/component.lua b/Source/Asura.Framework/component.lua index b498a36..2954743 100644 --- a/Source/Asura.Framework/component.lua +++ b/Source/Asura.Framework/component.lua @@ -1,8 +1,8 @@ -local Component = AsuraEngine.Class("Component") +AsuraEngine.Component = AsuraEngine.Class("Component") -AsuraEngine.Component = Component +local Component = AsuraEngine.Component ---Component.gameobject = AsuraEngine.Type.GameObject +--Component.entity = AsuraEngine.Type.GameObject --派生新的组件 function Component.Sub(cname) @@ -11,7 +11,7 @@ function Component.Sub(cname) end function Component:Ctor(go) - self.gameobject = go + self.entity = go end function Component:OnEvent(e) @@ -25,5 +25,3 @@ end function Component:OnDraw() end - -return Component
\ No newline at end of file diff --git a/Source/Asura.Framework/entity.lua b/Source/Asura.Framework/entity.lua index 0edded4..b41d365 100644 --- a/Source/Asura.Framework/entity.lua +++ b/Source/Asura.Framework/entity.lua @@ -1,10 +1,11 @@ ---[[ -实体,作为scene中的实体存在。 -]] +-- +-- 实体,作为scene中的实体存在。Scene中唯一管理的就是实体entity,游戏里的所有component都依附于entity存在,包括camera组件。 +-- require "transform" -local Entity = AsuraEngine.Asset.Sub("Entity") -AsuraEngine.Entity = Entity +AsuraEngine.Entity = AsuraEngine.Asset.Sub("Entity") + +local Entity = AsuraEngine.Entity function Entity:Ctor() self.transform = AsuraEngine.Transform.New() @@ -19,12 +20,12 @@ function Entity:AddComponent(type, name) self.components[cname] = compoennt end ---根据组件名拿到组件 +-- 根据组件名拿到组件 function Entity:GetComponent(name) return self.components[name] end ---根据组件类型拿到组件 +-- 根据组件类型拿到组件 function Entity:GetComponentByType(tname) end diff --git a/Source/Asura.Framework/filesystem/asset.lua b/Source/Asura.Framework/filesystem/asset.lua index b5f0664..afe4ea6 100644 --- a/Source/Asura.Framework/filesystem/asset.lua +++ b/Source/Asura.Framework/filesystem/asset.lua @@ -1,5 +1,14 @@ -local Asset = AsuraEngine.Class("Asset") -AsuraEngine.Asset = Asset +-- +-- 游戏资源类需要继承Asset类,引擎读取.asset文件寻找对应的loader加载进游戏生成对应的Asset派生类对象。对于脚本,不会 +-- 生成对应的对象,而是直接运行脚本将结果保存。 +-- +AsuraEngine.Asset = AsuraEngine.Class("Asset") + +local Asset = AsuraEngine.Asset + +function Asset.Ctor(self) + self.guid = nil +end --获得资源编号 function Asset.GetGUID(self) diff --git a/Source/Asura.Framework/graphics/animator.lua b/Source/Asura.Framework/graphics/animator.lua index 8c8a185..98baf0d 100644 --- a/Source/Asura.Framework/graphics/animator.lua +++ b/Source/Asura.Framework/graphics/animator.lua @@ -2,9 +2,9 @@ AsuraEngine.Animator = AsuraEngine.Component.Sub("Animator") local Animator = AsuraEngine.Animator -function Animator:Ctor(go, animation) - self.base(go) - self.spriteRenderer = go:GetSpriteRenderer() +function Animator:Ctor(entity, animation) + self.base(entity) + self.spriteRenderer = entity:GetSpriteRenderer() self.animation = animation end @@ -23,3 +23,5 @@ end function Animator:OnRender() end + +return Animator
\ No newline at end of file diff --git a/Source/Asura.Framework/graphics/image.lua b/Source/Asura.Framework/graphics/image.lua index ad2e1a9..be55dbd 100644 --- a/Source/Asura.Framework/graphics/image.lua +++ b/Source/Asura.Framework/graphics/image.lua @@ -34,4 +34,4 @@ end --image不可再编辑器编辑,所以没有ToAsset方法 --function Image.ToAsset() ---end +--end
\ No newline at end of file diff --git a/Source/Asura.Framework/graphics/mesh2d_renderer.lua b/Source/Asura.Framework/graphics/mesh2d_renderer.lua index 01f0d90..debfd37 100644 --- a/Source/Asura.Framework/graphics/mesh2d_renderer.lua +++ b/Source/Asura.Framework/graphics/mesh2d_renderer.lua @@ -1,5 +1,5 @@ -local Mesh2DRenderer = Class() - +local Mesh2DRenderer = AsuraEngine.Component.Sub("Mesh2DRenderer") +AsuraEngine.Mesh2DRenderer = Mesh2DRenderer return Mesh2DRenderer
\ No newline at end of file diff --git a/Source/Asura.Framework/graphics/particle_system.lua b/Source/Asura.Framework/graphics/particle_system.lua index a5f8015..17d52e7 100644 --- a/Source/Asura.Framework/graphics/particle_system.lua +++ b/Source/Asura.Framework/graphics/particle_system.lua @@ -1,6 +1,20 @@ -local ParticleSystem = AsuraEngine.Component.Sub("ParticleSystem") -AsuraEngine.ParticleSystem = ParticleSystem +require "graphics.sprite_renderer" -function ParticleSystem.Ctor(self) +AsuraEngine.ParticleSystem = AsuraEngine.Component.Sub("ParticleSystem") + +local ParticleSystem = AsuraEngine.ParticleSystem + +function ParticleSystem.Ctor(self, entity, def) + self.base(entity) + self.spriteRenderer = AsuraEngine.SpriteRenderer.New() +end + +function ParticleSystem.OnRenderer() end + +function ParticleSystem.OnUpdate(dt) + +end + +return ParticleSystem
\ No newline at end of file diff --git a/Source/Asura.Framework/graphics/shader.lua b/Source/Asura.Framework/graphics/shader.lua index d381575..b719d2b 100644 --- a/Source/Asura.Framework/graphics/shader.lua +++ b/Source/Asura.Framework/graphics/shader.lua @@ -1,5 +1,6 @@ -local Shader = AsuraEngine.Asset.Sub("Shader") -AsuraEngine.Shader = Shader +AsuraEngine.Shader = AsuraEngine.Asset.Sub("Shader") + +local Shader = AsuraEngine.Shader function Shader.Ctor(self, vert, frag) local simShader = AsuraEngine.simShader(vert, frag) diff --git a/Source/Asura.Framework/graphics/shape.lua b/Source/Asura.Framework/graphics/shape.lua index e69de29..6d737f0 100644 --- a/Source/Asura.Framework/graphics/shape.lua +++ b/Source/Asura.Framework/graphics/shape.lua @@ -0,0 +1,12 @@ +-- +-- 2D图形 +-- +AsuraEngine.Shape = AsuraEngine.Asset.Sub("Shape") + +local Shape = AsuraEngine.Shape + +function Shape.Ctor(self) + +end + +return Shape
\ No newline at end of file diff --git a/Source/Asura.Framework/graphics/shape_renderer.lua b/Source/Asura.Framework/graphics/shape_renderer.lua index e69de29..8c002a2 100644 --- a/Source/Asura.Framework/graphics/shape_renderer.lua +++ b/Source/Asura.Framework/graphics/shape_renderer.lua @@ -0,0 +1,13 @@ +AsuraEngine.ShapeRenderer = AsuraEngine.Component.Sub("ShapeRenderer") + +local ShapeRenderer = AsuraEngine.ShapeRenderer + +function ShapeRenderer.OnRenderer() + +end + +function ShapeRenderer.OnUpdate(dt) + +end + +return ShapeRenderer
\ 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 925e8b1..93937d7 100644 --- a/Source/Asura.Framework/graphics/sprite_renderer.lua +++ b/Source/Asura.Framework/graphics/sprite_renderer.lua @@ -10,3 +10,5 @@ end function SpriteRenderer:OnRender() end + +return SpriteRenderer
\ No newline at end of file |