public Dungeon GetDungeon(string id)
        {
            using (TinyIoCContainer requestContainer = _container.GetChildContainer())
            {
                Dungeon       result = null;
                IDungeonDepot depot  = requestContainer.Resolve <IDungeonDepot>();

                if (depot.ContainsKey(id))
                {
                    DungeonConfigEntity dungeonConfig = depot[id];
                    requestContainer.Register <DungeonConfigEntity>(dungeonConfig);

                    //TODO: Pull the generator by name stored in the config
                    IDungeonGenerator generator = requestContainer.Resolve <IDungeonGenerator>();

                    result = generator.Generate();
                }
                else if (id == _defaultId)
                {
                    // return the default dungeon
                    result = new Dungeon(_defaultId, _defaultSize, _defaultSize);
                }
                else
                {
                    throw new WebFaultException <string>(
                              string.Format("No dungeon exists with id {0}", id),
                              HttpStatusCode.NotFound);
                }


                return(result);
            }
        }
    public DungeonMap GetDungeon()
    {
        dungeon.UpdateVisibility();

        DungeonMap toReturn = dungeon;

        dungeon       = null;
        generator     = null;
        roomDecorator = null;
        sizeX         = sizeY = 0;

        return(toReturn);
    }
 public GameController(Container container, IDungeonGenerator generator, IDrawingEngine drawingEngine)
 {
     this.container     = container;
     this.generator     = generator;
     this.DrawingEngine = drawingEngine;
 }
 public void SetGenerator(IDungeonGenerator generator)
 {
     this.generator = generator;
 }
 public void Setup()
 {
     mockAreaPercentileSelector = new Mock<IAreaPercentileSelector>();
     mockEncounterGenerator = new Mock<IEncounterGenerator>();
     mockAreaGeneratorFactory = new Mock<IAreaGeneratorFactory>();
     mockTrapGenerator = new Mock<ITrapGenerator>();
     mockPercentileSelector = new Mock<IPercentileSelector>();
     mockHallGenerator = new Mock<AreaGenerator>();
     dungeonGenerator = new DungeonGenerator(mockAreaPercentileSelector.Object, mockAreaGeneratorFactory.Object, mockEncounterGenerator.Object, mockTrapGenerator.Object, mockPercentileSelector.Object, mockHallGenerator.Object);
 }
Exemple #6
0
 private void button2_Click(object sender, EventArgs e)
 {
     _generator = new CellGenerator();
     panel1.Invalidate();
 }
Exemple #7
0
 public Form1()
 {
     InitializeComponent();
     panel1.Paint += Panel1_Paint;
     _generator    = new CellGenerator();
 }