public void TestEntityTemplates() { // Mostly just demoing how you're supposed to use the template system. // Use a guid dispenser to give entities unique IDs. Guid guids = new Guid(); // Set up some entity templates built from component templates. EntityTemplate brogmoidTemplate = new EntityTemplate() .AddComponent(new StatsTemplate(6, 2, 4)) .AddComponent(new RandomPosTemplate()); EntityTemplate grueTemplate = new EntityTemplate() .AddComponent(new StatsTemplate(4, 6, 8)) .AddComponent(new RandomPosTemplate()); // Use the templates to build entities. Entity brogmoid1 = brogmoidTemplate.Make(guids.Next()); Entity brogmoid2 = brogmoidTemplate.Make(guids.Next()); Entity grue1 = grueTemplate.Make(guids.Next()); Assert.AreEqual(6, brogmoid1.Get<StatsComponent>().Might); Assert.AreEqual(6, brogmoid2.Get<StatsComponent>().Might); Assert.AreEqual(8, grue1.Get<StatsComponent>().Speed); }
/// <summary> /// A method that is called when this component template is added to an /// entity template. May modify the entity template (set it's name for /// example) /// </summary> public virtual void AddToEntityTemplateHook(EntityTemplate template) { }