Commit graph

4 commits

Author SHA1 Message Date
Erik Ogenvik
ffbcfaf832 Implement archetype inheritance. 2013-11-15 21:40:29 +01:00
Erik Ogenvik
a6b282b81a Added first test implementation of entity ref.
Within an archetype you can refer to other entities in attributes by
prefixing their names with a *@" character.
2013-11-15 21:39:35 +01:00
Erik Ogenvik
45555fd698 Use custom format for archetypes.
This required the EntityKit to be refactored, so that most fields are
pushed into EntityFactory. Due to the nature of how the rule handlers
and the factories interact the code is pretty messy. It works, but it's
tangled and not really clean.
2013-11-15 21:39:35 +01:00
Erik Ogenvik
b054382f2a Add "archetype" as new type.
An archetype is used for creating new entities. It contains one or many
definitions for entities, along with relationship between them. It also
contains any extra data needed for a world simultion, such as thoughts
and knowledge.
Archetypes should be seen as blueprints for entity types, as they
describe how new one should be composed. They are created just as
regular entities, using the existing Create op functionality.
As an example, there should be one "human" entity type, with archetypes
such as "settler", "merchant", "soldier" etc. This differs from the
current setup where each of these are separate entity types.
2013-11-15 21:39:35 +01:00