public PatronSelectionEventNode(GamePlayer player, WeaponAugmentFactory weaponAugmentFactory) { if (player == null) { throw new ArgumentException("Player cannot be null"); } this.player = player; LinkedList <Patron> patrons = new LinkedList <Patron>(); foreach (WeaponAugmentTemplate weaponAugmentTemplate in weaponAugmentFactory.All) { Patron patron = new Patron(new WeaponAugmentProvider(weaponAugmentTemplate), 0, 1); patrons.AddLast(patron); } patrons.AddLast(new Patron(new WeaponProvider(weaponAugmentFactory.BasicWeapon), 0, 1)); this.Choices = new ChoiceBuilder <Patron>(patrons); this.Prompt = "Choose a house to be born into. Your family will love you and will repeatedly" + " gift you an item of matching their specialty."; }
private WorldScreen makeWorldScreen() { WeaponAugmentFactory factory = new WeaponAugmentFactory(); List <WeaponAugmentTemplate> templates = new List <WeaponAugmentTemplate>() { factory.Damager, factory.Flier }; WeaponStats weaponStats = factory.BasicWeapon.WithAugments(templates); List <WeaponStats> enemyWeapons = new List <WeaponStats>() { weaponStats }; Size size = this.size; WorldFactory worldFactory = new WorldFactory(new Random()); WorldLoader worldLoader = worldFactory.Build(2, this.size); LevelPlayer levelPlayer = this.player.PrepareForNewLevel(); worldLoader.addItemAndDisableUnloading(levelPlayer); this.worldScreen = new WorldScreen(size, levelPlayer, worldLoader); this.worldScreen.setEscapeEnabled(true); return(this.worldScreen); }