/// <summary> /// Adds the given ObjectTemplate to the given IGameField. /// </summary> /// <param name="template"> /// The template to add. /// </param> /// <param name="offsetX"> /// The offset to apply on the x-axis. /// </param> /// <param name="offsetY"> /// The offset to apply on the y-axis. /// </param> /// <param name="gameField"> /// The IGameField to fill with data. /// </param> public void AddTemplate( ObjectTemplate template, int offsetX, int offsetY, IGameField gameField ) { this.offsetX = offsetX; this.offsetY = offsetY; this.gameField = gameField; switch( template ) { case ObjectTemplate.Glider: this.AddGlider(); break; case ObjectTemplate.Chaos: this.AddChaos(); break; case ObjectTemplate.Laser0: this.AddLaser0(); break; case ObjectTemplate.Laser2: this.AddLaser2(); break; case ObjectTemplate.Horseshoe: this.AddHorseshoe(); break; case ObjectTemplate.Flower: this.AddFlower(); break; case ObjectTemplate.Claphand: this.AddToad(); break; case ObjectTemplate.Acorn: this.AddAcorn(); break; case ObjectTemplate.Octagon: this.AddOctagon(); break; case ObjectTemplate.Pentadecathlon: this.AddPentadecathlon(); break; case ObjectTemplate.Bugface: this.AddBugface(); break; case ObjectTemplate.Tumbler: this.AddTumbler(); break; case ObjectTemplate.Diehard: this.AddDiehard(); break; case ObjectTemplate.Pulsar: this.AddPulsar(); break; case ObjectTemplate.QueenBeeShuttle: this.AddQueenBeeShuttle(); break; case ObjectTemplate.SpaceshipLightweight: this.AddLightweightSpaceship(); break; default: throw new NotImplementedException( template.ToString() ); } }