public string RegisterHarvester(List <string> arguments) { switch (arguments[0]) { case "Sonic": //this.harvesters.Add(arguments[1], new SonicHarvester(arguments[1], double.Parse(arguments[2]), double.Parse(arguments[3]), int.Parse(arguments[4]))); this.harvesters.Add(arguments[1], HarvesterFactory.MakeSonicHarvester(arguments[1], double.Parse(arguments[2]), double.Parse(arguments[3]), int.Parse(arguments[4]))); break; case "Hammer": //this.harvesters.Add(arguments[1], new HammerHarvester(arguments[1], double.Parse(arguments[2]), double.Parse(arguments[3]))); this.harvesters.Add(arguments[1], HarvesterFactory.MakeHammerHarverster(arguments[1], double.Parse(arguments[2]), double.Parse(arguments[3]))); break; } return($"Successfully registered {arguments[0]} Harvester - {arguments[1]}"); }
private Harvester MakeHarvester(List <string> arguments) { Harvester harvester = null; string type = arguments[0]; string id = arguments[1]; double oreOutput = double.Parse(arguments[2]); double energyRequirement = double.Parse(arguments[3]); if (type == "Hammer") { harvester = HarvesterFactory.MakeHammerHarvester(id, oreOutput, energyRequirement); } else { int sonicFactor = int.Parse(arguments[4]); harvester = HarvesterFactory.MakeSonicHarvester(id, oreOutput, energyRequirement, sonicFactor); } return(harvester); }