Esempio n. 1
0
        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);
        }
Esempio n. 2
0
 /// <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)
 {
 }