summaryrefslogtreecommitdiff
path: root/src/ecs.moon
diff options
context:
space:
mode:
Diffstat (limited to 'src/ecs.moon')
-rw-r--r--src/ecs.moon27
1 files changed, 14 insertions, 13 deletions
diff --git a/src/ecs.moon b/src/ecs.moon
index d20984a..182f09d 100644
--- a/src/ecs.moon
+++ b/src/ecs.moon
@@ -28,11 +28,12 @@ class Entity
@c_by_type = {}
--Entity is responsible for the component -> entity link
- @components = componenets or {}
+ @components = components or {}
for name, component in pairs(@components)
component.entity = @
@c_by_type[component.__class] = @c_by_type[component.__class] or {}
@c_by_type[component.__class][name] = component
+ for name, component in pairs(@components)
component\join(@)
add: (cid, component) =>
component.entity = @
@@ -70,21 +71,21 @@ class PredictedComponent extends Component
@netc_name = netc_name
@calculate = calculate
join: (entity) =>
- @net = entity[@netc_name]
+ @net = @entity\get(@netc_name)
forward: () =>
- for proeprty, calculation in pairs(@calculate)
+ for property, calculation in pairs(@calculate)
@properties[property] = calculation(@)
-class GraphicsComponent extends Component
- new: (name, properties) =>
- assert(properties and properties.node , "Failed to find node for graphics component")
- super(name, properties)
- static: () =>
- @@static
- buffer_size: () =>
- error("Subclasses of GraphicsComponent must implement a buffer_size() method")
- populate_buffer: (buffer, offset) =>
- error("Subclasses of GraphicsComponent must implement a populate_buffer() method")
+-- componnt moved to world.moon
+--class GraphicsComponent extends Component
+-- new: (name, properties) =>
+-- print("Got name", name, "and properties", properties)
+-- assert(properties and properties.node , "Failed to find node for graphics component")
+-- super(name, properties)
+-- static: () =>
+-- @@static
+-- node: () =>
+-- @properties.node
class PhysicsComponent extends Component
new: (name, properties) =>