/// <inheritdoc /> public void LoadAllItems( Dictionary <string, IItemLoader> itemLoaders, Add <Upgrade> upgradeAdder, IItemLoader.AddCommands commandAdder, count upgradeCount, count programmingCardCount) { foreach (KeyValuePair <string, IItemLoader> loader in itemLoaders) { int bevUpgrades = upgradeCount(); int bevProgr = programmingCardCount(); loader.Value.AddUpgrades(upgradeAdder); loader.Value.AddProgrammingCards(commandAdder); bool upsChanged = bevUpgrades < upgradeCount(); bool progChanged = bevProgr < programmingCardCount(); if (upsChanged && progChanged) { Console.Out.WriteLine($"Loaded Upgrades and Commands from \"{loader.Key}\""); } else if (upsChanged) { Console.Out.WriteLine($"Loaded Upgrades from \"{loader.Key}\""); } else if (progChanged) { Console.Out.WriteLine($"Loaded Commands from \"{loader.Key}\""); } } }
public void AddProgrammingCards(IItemLoader.AddCommands add) { add(6, new MoveCommand(3) { Name = "Move 3" }); add(12, new MoveCommand(2) { Name = "Move 2" }); add(18, new MoveCommand(1) { Name = "Move 1" }); add(6, new MoveCommand(1, RelativeDirection.Backwards) { Name = "Back Up" }); add(9, new RotateCommand(Rotation.Left, 1) { Name = "Turn Left" }); add(9, new RotateCommand(Rotation.Right, 1) { Name = "Turn Right" }); add(6, new RotateCommand(Rotation.Right, 2) { Name = "U-Turn" }); add(6, new RobotShootCommand() { Name = "Shoot" }); add(6, new RepeatCommand() { Name = "Repeat" }); add(6, new EnergyCommand(1) { Name = "Power Up" }); add(2, new EnergyCommand(2) { Name = "Big Power Up" }); }