public static BuildChoices GetTerranBuildChoices(DefaultSharkyBot defaultSharkyBot) { var scveMicroController = new IndividualMicroController(defaultSharkyBot, MicroPriority.JustLive, false); var massMarines = new MassMarines(defaultSharkyBot); var bansheesAndMarines = new BansheesAndMarines(defaultSharkyBot); var reaperCheese = new ReaperCheese(defaultSharkyBot, scveMicroController); var builds = new Dictionary <string, ISharkyBuild> { [reaperCheese.Name()] = reaperCheese, [massMarines.Name()] = massMarines, [bansheesAndMarines.Name()] = bansheesAndMarines }; var defaultSequences = new List <List <string> > { new List <string> { reaperCheese.Name(), bansheesAndMarines.Name() }, new List <string> { massMarines.Name(), bansheesAndMarines.Name() }, new List <string> { bansheesAndMarines.Name() } }; var buildSequences = new Dictionary <string, List <List <string> > > { [Race.Terran.ToString()] = defaultSequences, [Race.Zerg.ToString()] = defaultSequences, [Race.Protoss.ToString()] = defaultSequences, [Race.Random.ToString()] = defaultSequences, ["Transition"] = defaultSequences }; return(new BuildChoices { Builds = builds, BuildSequences = buildSequences }); }
public static BuildChoices GetTerranBuildChoices(DefaultSharkyBot defaultSharkyBot) { var scveMicroController = new IndividualMicroController(defaultSharkyBot.MapDataService, defaultSharkyBot.SharkyUnitData, defaultSharkyBot.ActiveUnitData, defaultSharkyBot.DebugService, defaultSharkyBot.SharkyPathFinder, defaultSharkyBot.BaseData, defaultSharkyBot.SharkyOptions, defaultSharkyBot.DamageService, defaultSharkyBot.UnitDataService, MicroPriority.JustLive, false); var massMarines = new MassMarines(defaultSharkyBot.BuildOptions, defaultSharkyBot.MacroData, defaultSharkyBot.ActiveUnitData, defaultSharkyBot.AttackData, defaultSharkyBot.ChatService, defaultSharkyBot.UnitCountService); var bansheesAndMarines = new BansheesAndMarines(defaultSharkyBot.BuildOptions, defaultSharkyBot.MacroData, defaultSharkyBot.ActiveUnitData, defaultSharkyBot.AttackData, defaultSharkyBot.ChatService, defaultSharkyBot.MicroTaskData, defaultSharkyBot.UnitCountService); var reaperCheese = new ReaperCheese(defaultSharkyBot.BuildOptions, defaultSharkyBot.MacroData, defaultSharkyBot.ActiveUnitData, defaultSharkyBot.AttackData, defaultSharkyBot.ChatService, defaultSharkyBot.MicroTaskData, defaultSharkyBot.UnitCountService, defaultSharkyBot.SharkyUnitData, defaultSharkyBot.ProxyLocationService, defaultSharkyBot.DebugService, scveMicroController); var builds = new Dictionary <string, ISharkyBuild> { [reaperCheese.Name()] = reaperCheese, [massMarines.Name()] = massMarines, [bansheesAndMarines.Name()] = bansheesAndMarines }; var defaultSequences = new List <List <string> > { new List <string> { reaperCheese.Name(), bansheesAndMarines.Name() }, new List <string> { massMarines.Name(), bansheesAndMarines.Name() }, new List <string> { bansheesAndMarines.Name() } }; var buildSequences = new Dictionary <string, List <List <string> > > { [Race.Terran.ToString()] = defaultSequences, [Race.Zerg.ToString()] = defaultSequences, [Race.Protoss.ToString()] = defaultSequences, [Race.Random.ToString()] = defaultSequences, ["Transition"] = defaultSequences }; return(new BuildChoices { Builds = builds, BuildSequences = buildSequences }); }