public void LoadEnvironment(AbstractFactory factory) { this.AddArea(factory.CreateArea()); for (AbstractCharacter c = factory.CreateCharacter(); c != null; c = factory.CreateCharacter()) { this.AddCharacter(c); } for (AbstractObject o = factory.CreateObject(); o != null; o = factory.CreateObject()) { this.AddObject(o); } }