Implemented event system, Implemented initial bit of scripting system, Stubbed component system. Entities can now use the scripting system to place their 'decorations'

This commit is contained in:
2019-09-26 12:13:08 -05:00
parent e41a2b6524
commit b6d7a6ebdb
24 changed files with 293 additions and 80 deletions

View File

@@ -2,9 +2,15 @@ class IMICFPS
module EntityManager # Get included into GameState context
def add_entity(entity)
@collision_manager.add(entity)# Add every entity to collision manager
@publisher.publish(:create, self, entity)
@entities << entity
end
def insert_entity(package, name, position, orientation, data = {})
ent = Map::Entity.new(package, name, position, orientation, Vector.new(1,1,1))
add_entity(IMICFPS::Entity.new(map_entity: ent, manifest: Manifest.new(package: package, name: name)))
end
def find_entity(entity)
@entities.detect {|entity| entity == entity}
end
@@ -13,6 +19,7 @@ class IMICFPS
ent = @entities.detect {|entity| entity == entity}
if ent
@collision_manager.remove(entity)
@publisher.publish(:destroy, self, entity)
@entities.delete(ent)
end
end