forked from chomp/BotGenerator
Neatified the code
This commit is contained in:
parent
a67c2ad807
commit
e407393392
@ -12,28 +12,17 @@ using System.Linq;
|
|||||||
|
|
||||||
namespace Generator
|
namespace Generator
|
||||||
{
|
{
|
||||||
public class BaseBotGenerator
|
public static class BaseBotGenerator
|
||||||
{
|
{
|
||||||
private readonly List<Datum> _rawParsedBots;
|
//TODO: pass in bot types and use those to create the classes in rawBots list
|
||||||
private readonly string _workingPath;
|
public static IEnumerable<Bot> GenerateBaseDetails(IEnumerable<Datum> parsedBots, string workingPath, IEnumerable<string> botTypes)
|
||||||
private readonly string[] _botTypes;
|
|
||||||
|
|
||||||
//TODO: pass in bot types and use those to create the clases in rawBots list
|
|
||||||
public BaseBotGenerator(List<Datum> parsedBots, string workingPath, string[] botTypes)
|
|
||||||
{
|
|
||||||
_rawParsedBots = parsedBots;
|
|
||||||
_workingPath = workingPath;
|
|
||||||
_botTypes = botTypes;
|
|
||||||
}
|
|
||||||
|
|
||||||
public List<Bot> AddBaseDetails()
|
|
||||||
{
|
{
|
||||||
var stopwatch = Stopwatch.StartNew();
|
var stopwatch = Stopwatch.StartNew();
|
||||||
LoggingHelpers.LogToConsole("Started processing bot base");
|
LoggingHelpers.LogToConsole("Started processing bot base");
|
||||||
|
|
||||||
// Create a list of bot objects ready to be hydrated
|
// Create a list of bot objects ready to be hydrated
|
||||||
var rawBots = new List<Bot>();
|
var rawBots = new List<Bot>();
|
||||||
foreach (var botType in _botTypes)
|
foreach (var botType in botTypes)
|
||||||
{
|
{
|
||||||
var typeToAdd = (BotType)Enum.Parse(typeof(BotType), botType);
|
var typeToAdd = (BotType)Enum.Parse(typeof(BotType), botType);
|
||||||
rawBots.Add(new Bot(typeToAdd));
|
rawBots.Add(new Bot(typeToAdd));
|
||||||
@ -42,7 +31,7 @@ namespace Generator
|
|||||||
// Iterate over each bot type wejust made and put some data into them
|
// Iterate over each bot type wejust made and put some data into them
|
||||||
foreach (var botToUpdate in rawBots)
|
foreach (var botToUpdate in rawBots)
|
||||||
{
|
{
|
||||||
var rawBotsOfSameType = _rawParsedBots
|
var rawBotsOfSameType = parsedBots
|
||||||
.Where(x => string.Equals(x.Info.Settings.Role, botToUpdate.botType.ToString(), StringComparison.OrdinalIgnoreCase)).ToList();
|
.Where(x => string.Equals(x.Info.Settings.Role, botToUpdate.botType.ToString(), StringComparison.OrdinalIgnoreCase)).ToList();
|
||||||
|
|
||||||
if (rawBotsOfSameType.Count == 0)
|
if (rawBotsOfSameType.Count == 0)
|
||||||
@ -54,7 +43,7 @@ namespace Generator
|
|||||||
LoggingHelpers.LogToConsole($"Found {rawBotsOfSameType.Count} bots of type: {botToUpdate.botType}");
|
LoggingHelpers.LogToConsole($"Found {rawBotsOfSameType.Count} bots of type: {botToUpdate.botType}");
|
||||||
|
|
||||||
UpdateBodyPartHealth(botToUpdate, rawBotsOfSameType);
|
UpdateBodyPartHealth(botToUpdate, rawBotsOfSameType);
|
||||||
AddDifficulties(botToUpdate, _workingPath);
|
AddDifficulties(botToUpdate, workingPath);
|
||||||
AddExperience(botToUpdate, rawBotsOfSameType);
|
AddExperience(botToUpdate, rawBotsOfSameType);
|
||||||
AddStandingForKill(botToUpdate, rawBotsOfSameType);
|
AddStandingForKill(botToUpdate, rawBotsOfSameType);
|
||||||
AddSkills(botToUpdate, rawBotsOfSameType);
|
AddSkills(botToUpdate, rawBotsOfSameType);
|
||||||
@ -73,7 +62,7 @@ namespace Generator
|
|||||||
return rawBots;
|
return rawBots;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddSkills(Bot botToUpdate, List<Datum> rawBotsOfSameType)
|
private static void AddSkills(Bot botToUpdate, IEnumerable<Datum> rawBotsOfSameType)
|
||||||
{
|
{
|
||||||
var firstBotOfDesiredType = rawBotsOfSameType.FirstOrDefault();
|
var firstBotOfDesiredType = rawBotsOfSameType.FirstOrDefault();
|
||||||
|
|
||||||
@ -83,7 +72,7 @@ namespace Generator
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddStandingForKill(Bot botToUpdate, List<Datum> rawBotsOfSameType)
|
private static void AddStandingForKill(Bot botToUpdate, IEnumerable<Datum> rawBotsOfSameType)
|
||||||
{
|
{
|
||||||
var firstBotOfDesiredType = rawBotsOfSameType.FirstOrDefault();
|
var firstBotOfDesiredType = rawBotsOfSameType.FirstOrDefault();
|
||||||
|
|
||||||
@ -91,7 +80,7 @@ namespace Generator
|
|||||||
botToUpdate.experience.aggressorBonus = firstBotOfDesiredType.Info.Settings.AggressorBonus;
|
botToUpdate.experience.aggressorBonus = firstBotOfDesiredType.Info.Settings.AggressorBonus;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddExperience(Bot botToUpdate, List<Datum> rawBotsOfSameType)
|
private static void AddExperience(Bot botToUpdate, IEnumerable<Datum> rawBotsOfSameType)
|
||||||
{
|
{
|
||||||
var firstBotOfDesiredType = rawBotsOfSameType.FirstOrDefault();
|
var firstBotOfDesiredType = rawBotsOfSameType.FirstOrDefault();
|
||||||
|
|
||||||
@ -99,12 +88,12 @@ namespace Generator
|
|||||||
botToUpdate.experience.reward.max = firstBotOfDesiredType.Info.Settings.Experience;
|
botToUpdate.experience.reward.max = firstBotOfDesiredType.Info.Settings.Experience;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddVoice(Bot bot, Datum rawParsedBot)
|
private static void AddVoice(Bot bot, Datum rawParsedBot)
|
||||||
{
|
{
|
||||||
bot.appearance.voice.AddUnique(rawParsedBot.Info.Voice);
|
bot.appearance.voice.AddUnique(rawParsedBot.Info.Voice);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddDifficulties(Bot bot, string workingPath)
|
private static void AddDifficulties(Bot bot, string workingPath)
|
||||||
{
|
{
|
||||||
var botFiles = Directory
|
var botFiles = Directory
|
||||||
.GetFiles($"{workingPath}//Assets", "*.txt", SearchOption.TopDirectoryOnly)
|
.GetFiles($"{workingPath}//Assets", "*.txt", SearchOption.TopDirectoryOnly)
|
||||||
@ -114,7 +103,7 @@ namespace Generator
|
|||||||
DifficultyHelper.AddDifficultySettings(bot, botFiles);
|
DifficultyHelper.AddDifficultySettings(bot, botFiles);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void UpdateBodyPartHealth(Bot botToUpdate, List<Datum> rawParsedBots)
|
private static void UpdateBodyPartHealth(Bot botToUpdate, List<Datum> rawParsedBots)
|
||||||
{
|
{
|
||||||
var firstBotOfDesiredType = rawParsedBots.FirstOrDefault();
|
var firstBotOfDesiredType = rawParsedBots.FirstOrDefault();
|
||||||
if (firstBotOfDesiredType == null)
|
if (firstBotOfDesiredType == null)
|
||||||
@ -145,7 +134,7 @@ namespace Generator
|
|||||||
botToUpdate.health.BodyParts.RightLeg.max = firstBotOfDesiredType.Health.BodyParts.RightLeg.Health.Maximum;
|
botToUpdate.health.BodyParts.RightLeg.max = firstBotOfDesiredType.Health.BodyParts.RightLeg.Health.Maximum;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddVisualAppearanceItems(Bot botToUpdate, Datum rawBot)
|
private static void AddVisualAppearanceItems(Bot botToUpdate, Datum rawBot)
|
||||||
{
|
{
|
||||||
botToUpdate.appearance.head.AddUnique(rawBot.Customization.Head);
|
botToUpdate.appearance.head.AddUnique(rawBot.Customization.Head);
|
||||||
botToUpdate.appearance.body.AddUnique(rawBot.Customization.Body);
|
botToUpdate.appearance.body.AddUnique(rawBot.Customization.Body);
|
||||||
@ -153,7 +142,7 @@ namespace Generator
|
|||||||
botToUpdate.appearance.feet.AddUnique(rawBot.Customization.Feet);
|
botToUpdate.appearance.feet.AddUnique(rawBot.Customization.Feet);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddName(Bot botToUpdate, Datum rawBot)
|
private static void AddName(Bot botToUpdate, Datum rawBot)
|
||||||
{
|
{
|
||||||
var name = rawBot.Info.Nickname.Split();
|
var name = rawBot.Info.Nickname.Split();
|
||||||
botToUpdate.firstName.AddUnique(name[0]);
|
botToUpdate.firstName.AddUnique(name[0]);
|
||||||
|
@ -9,25 +9,16 @@ using System.Linq;
|
|||||||
|
|
||||||
namespace Generator
|
namespace Generator
|
||||||
{
|
{
|
||||||
internal class BotChancesGenerator
|
public static class BotChancesGenerator
|
||||||
{
|
{
|
||||||
private readonly List<Bot> _bots;
|
public static IEnumerable<Bot> AddChances(this IEnumerable<Bot> botsWithGear, IEnumerable<Datum> parsedBots)
|
||||||
private readonly List<Datum> _rawParsedBots;
|
|
||||||
|
|
||||||
public BotChancesGenerator(List<Bot> botsWithGearAndLoot, List<Datum> parsedBots)
|
|
||||||
{
|
|
||||||
_bots = botsWithGearAndLoot;
|
|
||||||
_rawParsedBots = parsedBots;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal List<Bot> AddChances()
|
|
||||||
{
|
{
|
||||||
var stopwatch = Stopwatch.StartNew();
|
var stopwatch = Stopwatch.StartNew();
|
||||||
LoggingHelpers.LogToConsole("Started processing bot gear");
|
LoggingHelpers.LogToConsole("Started processing bot gear");
|
||||||
|
|
||||||
foreach (var botToUpdate in _bots)
|
foreach (var botToUpdate in botsWithGear)
|
||||||
{
|
{
|
||||||
var rawParsedBotOfCurrentType = _rawParsedBots
|
var rawParsedBotOfCurrentType = parsedBots
|
||||||
.Where(x => x.Info.Settings.Role.Equals(botToUpdate.botType.ToString(), StringComparison.OrdinalIgnoreCase))
|
.Where(x => x.Info.Settings.Role.Equals(botToUpdate.botType.ToString(), StringComparison.OrdinalIgnoreCase))
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
@ -36,6 +27,7 @@ namespace Generator
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// TODO: Add check to make sure incoming bot list has gear
|
||||||
GearChanceHelpers.CalculateEquipmentChances(botToUpdate, rawParsedBotOfCurrentType);
|
GearChanceHelpers.CalculateEquipmentChances(botToUpdate, rawParsedBotOfCurrentType);
|
||||||
GearChanceHelpers.AddGenerationChances(botToUpdate);
|
GearChanceHelpers.AddGenerationChances(botToUpdate);
|
||||||
GearChanceHelpers.CalculateModChances(botToUpdate, rawParsedBotOfCurrentType);
|
GearChanceHelpers.CalculateModChances(botToUpdate, rawParsedBotOfCurrentType);
|
||||||
@ -44,7 +36,7 @@ namespace Generator
|
|||||||
stopwatch.Stop();
|
stopwatch.Stop();
|
||||||
LoggingHelpers.LogToConsole($"Finished processing bot chances. Took {LoggingHelpers.LogTimeTaken(stopwatch.Elapsed.TotalSeconds)} seconds");
|
LoggingHelpers.LogToConsole($"Finished processing bot chances. Took {LoggingHelpers.LogTimeTaken(stopwatch.Elapsed.TotalSeconds)} seconds");
|
||||||
|
|
||||||
return _bots;
|
return botsWithGear;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
@ -1,5 +1,4 @@
|
|||||||
using Common;
|
using Common;
|
||||||
using Generator.Helpers;
|
|
||||||
using Generator.Helpers.Gear;
|
using Generator.Helpers.Gear;
|
||||||
using Generator.Models.Input;
|
using Generator.Models.Input;
|
||||||
using Generator.Models.Output;
|
using Generator.Models.Output;
|
||||||
@ -10,25 +9,16 @@ using System.Linq;
|
|||||||
|
|
||||||
namespace Generator
|
namespace Generator
|
||||||
{
|
{
|
||||||
public class BotGearGenerator
|
public static class BotGearGenerator
|
||||||
{
|
{
|
||||||
private readonly List<Bot> _baseBots;
|
public static IEnumerable<Bot> AddGear(this IEnumerable<Bot> baseBots, IEnumerable<Datum> parsedBots)
|
||||||
private readonly List<Datum> _rawParsedBots;
|
|
||||||
|
|
||||||
public BotGearGenerator(List<Bot> baseBots, List<Datum> parsedBots)
|
|
||||||
{
|
|
||||||
_baseBots = baseBots;
|
|
||||||
_rawParsedBots = parsedBots;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal List<Bot> AddGear()
|
|
||||||
{
|
{
|
||||||
var stopwatch = Stopwatch.StartNew();
|
var stopwatch = Stopwatch.StartNew();
|
||||||
LoggingHelpers.LogToConsole("Started processing bot gear");
|
LoggingHelpers.LogToConsole("Started processing bot gear");
|
||||||
|
|
||||||
foreach (var botToUpdate in _baseBots)
|
foreach (var botToUpdate in baseBots)
|
||||||
{
|
{
|
||||||
var rawParsedBotOfCurrentType = _rawParsedBots
|
var rawParsedBotOfCurrentType = parsedBots
|
||||||
.Where(x => x.Info.Settings.Role.Equals(botToUpdate.botType.ToString(), StringComparison.OrdinalIgnoreCase))
|
.Where(x => x.Info.Settings.Role.Equals(botToUpdate.botType.ToString(), StringComparison.OrdinalIgnoreCase))
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
@ -48,7 +38,7 @@ namespace Generator
|
|||||||
stopwatch.Stop();
|
stopwatch.Stop();
|
||||||
LoggingHelpers.LogToConsole($"Finished processing bot gear. Took {LoggingHelpers.LogTimeTaken(stopwatch.Elapsed.TotalSeconds)} seconds");
|
LoggingHelpers.LogToConsole($"Finished processing bot gear. Took {LoggingHelpers.LogTimeTaken(stopwatch.Elapsed.TotalSeconds)} seconds");
|
||||||
|
|
||||||
return _baseBots;
|
return baseBots;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,5 @@
|
|||||||
using Common;
|
using Common;
|
||||||
using Common.Extensions;
|
using Common.Extensions;
|
||||||
using Generator.Helpers;
|
|
||||||
using Generator.Helpers.Gear;
|
using Generator.Helpers.Gear;
|
||||||
using Generator.Models.Input;
|
using Generator.Models.Input;
|
||||||
using Generator.Models.Output;
|
using Generator.Models.Output;
|
||||||
@ -12,26 +11,17 @@ using System.Threading.Tasks;
|
|||||||
|
|
||||||
namespace Generator
|
namespace Generator
|
||||||
{
|
{
|
||||||
public class BotLootGenerator
|
public static class BotLootGenerator
|
||||||
{
|
{
|
||||||
private readonly List<Bot> _botsWithGear;
|
internal static IEnumerable<Bot> AddLoot(this IEnumerable<Bot> botsWithGear, IEnumerable<Datum> parsedBots)
|
||||||
private readonly List<Datum> _rawParsedBots;
|
|
||||||
|
|
||||||
public BotLootGenerator(List<Bot> botsWithGear, List<Datum> rawParsedBots)
|
|
||||||
{
|
|
||||||
_botsWithGear = botsWithGear;
|
|
||||||
_rawParsedBots = rawParsedBots;
|
|
||||||
}
|
|
||||||
|
|
||||||
internal List<Bot> AddLoot()
|
|
||||||
{
|
{
|
||||||
var stopwatch = Stopwatch.StartNew();
|
var stopwatch = Stopwatch.StartNew();
|
||||||
LoggingHelpers.LogToConsole("Started processing bot loot");
|
LoggingHelpers.LogToConsole("Started processing bot loot");
|
||||||
|
|
||||||
// Iterate over assault/raider etc
|
// Iterate over assault/raider etc
|
||||||
Parallel.ForEach(_botsWithGear, botToUpdate =>
|
Parallel.ForEach(botsWithGear, botToUpdate =>
|
||||||
{
|
{
|
||||||
var rawBotsOfSameType = _rawParsedBots
|
var rawBotsOfSameType = parsedBots
|
||||||
.Where(x => x.Info.Settings.Role.Equals(botToUpdate.botType.ToString(), StringComparison.OrdinalIgnoreCase))
|
.Where(x => x.Info.Settings.Role.Equals(botToUpdate.botType.ToString(), StringComparison.OrdinalIgnoreCase))
|
||||||
.ToList();
|
.ToList();
|
||||||
|
|
||||||
@ -54,10 +44,10 @@ namespace Generator
|
|||||||
stopwatch.Stop();
|
stopwatch.Stop();
|
||||||
LoggingHelpers.LogToConsole($"Finished processing bot loot. Took: {LoggingHelpers.LogTimeTaken(stopwatch.Elapsed.TotalSeconds)} seconds");
|
LoggingHelpers.LogToConsole($"Finished processing bot loot. Took: {LoggingHelpers.LogTimeTaken(stopwatch.Elapsed.TotalSeconds)} seconds");
|
||||||
|
|
||||||
return _botsWithGear;
|
return botsWithGear;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddPocketLoot(Bot finalBot, Datum bot)
|
private static void AddPocketLoot(Bot finalBot, Datum bot)
|
||||||
{
|
{
|
||||||
// pocket loot
|
// pocket loot
|
||||||
foreach (var lootItem in bot.Inventory.items.Where(x => x?.slotId?.StartsWith("pocket") == true))
|
foreach (var lootItem in bot.Inventory.items.Where(x => x?.slotId?.StartsWith("pocket") == true))
|
||||||
@ -66,13 +56,13 @@ namespace Generator
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddTacticalVestLoot(Bot finalBot, List<Datum> bots)
|
private static void AddTacticalVestLoot(Bot finalBot, IEnumerable<Datum> bots)
|
||||||
{
|
{
|
||||||
var tacVestItems = GetItemsStoredInEquipmentItem(bots, "TacticalVest");
|
var tacVestItems = GetItemsStoredInEquipmentItem(bots, "TacticalVest");
|
||||||
finalBot.inventory.items.TacticalVest.AddRange(tacVestItems);
|
finalBot.inventory.items.TacticalVest.AddRange(tacVestItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddBackpackLoot(Bot finalBot, List<Datum> bots)
|
private static void AddBackpackLoot(Bot finalBot, IEnumerable<Datum> bots)
|
||||||
{
|
{
|
||||||
// add generic keys to bosses
|
// add generic keys to bosses
|
||||||
if (finalBot.botType.IsBoss())
|
if (finalBot.botType.IsBoss())
|
||||||
@ -84,18 +74,18 @@ namespace Generator
|
|||||||
finalBot.inventory.items.Backpack.AddRange(backpackItems);
|
finalBot.inventory.items.Backpack.AddRange(backpackItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddSecureContainerLoot(Bot finalAssaultBot, List<Datum> bots)
|
private static void AddSecureContainerLoot(Bot finalAssaultBot, IEnumerable<Datum> bots)
|
||||||
{
|
{
|
||||||
var tacVestItems = GetItemsStoredInEquipmentItem(bots, "SecuredContainer");
|
var tacVestItems = GetItemsStoredInEquipmentItem(bots, "SecuredContainer");
|
||||||
finalAssaultBot.inventory.items.SecuredContainer.AddRange(tacVestItems);
|
finalAssaultBot.inventory.items.SecuredContainer.AddRange(tacVestItems);
|
||||||
}
|
}
|
||||||
|
|
||||||
private void AddSpecialLoot(Bot botToUpdate)
|
private static void AddSpecialLoot(Bot botToUpdate)
|
||||||
{
|
{
|
||||||
botToUpdate.inventory.items.SpecialLoot.AddRange(SpecialLootHelper.GetSpecialLootForBotType(botToUpdate.botType));
|
botToUpdate.inventory.items.SpecialLoot.AddRange(SpecialLootHelper.GetSpecialLootForBotType(botToUpdate.botType));
|
||||||
}
|
}
|
||||||
|
|
||||||
private List<string> GetItemsStoredInEquipmentItem(List<Datum> bots, string containerName)
|
private static IEnumerable<string> GetItemsStoredInEquipmentItem(IEnumerable<Datum> bots, string containerName)
|
||||||
{
|
{
|
||||||
var itemsStoredInContainer = new List<string>();
|
var itemsStoredInContainer = new List<string>();
|
||||||
var containers = new List<string>();
|
var containers = new List<string>();
|
||||||
@ -120,8 +110,5 @@ namespace Generator
|
|||||||
|
|
||||||
return itemsStoredInContainer;
|
return itemsStoredInContainer;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
using Generator.Models.Input;
|
using System;
|
||||||
|
using Generator.Models.Input;
|
||||||
using Generator.Models.Output;
|
using Generator.Models.Output;
|
||||||
using System.Collections.Generic;
|
using System.Collections.Generic;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
@ -129,7 +130,7 @@ namespace Generator.Helpers.Gear
|
|||||||
|
|
||||||
private static int GetPercent(int total, int count)
|
private static int GetPercent(int total, int count)
|
||||||
{
|
{
|
||||||
return ((200 * count) + 1) / (total * 2);
|
return (int)Math.Ceiling((double)(((200 * count) + 1) / (total * 2)));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,11 +1,12 @@
|
|||||||
using Common;
|
using Common;
|
||||||
using System.IO;
|
using System.IO;
|
||||||
|
using System.Linq;
|
||||||
|
|
||||||
namespace Generator
|
namespace Generator
|
||||||
{
|
{
|
||||||
class Program
|
internal static class Program
|
||||||
{
|
{
|
||||||
static void Main(string[] args)
|
internal static void Main(string[] args)
|
||||||
{
|
{
|
||||||
// Create list of bots we want to process
|
// Create list of bots we want to process
|
||||||
string[] botTypes = {
|
string[] botTypes = {
|
||||||
@ -48,25 +49,15 @@ namespace Generator
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// Generate the base bot class and add basic details (health/body part hp etc)
|
// Generate the base bot class with basic details (health/body part hp etc) and then append everything else
|
||||||
var baseBotGenerator = new BaseBotGenerator(parsedBots, workingPath, botTypes);
|
var bots = BaseBotGenerator.GenerateBaseDetails(parsedBots, workingPath, botTypes)
|
||||||
var baseBots = baseBotGenerator.AddBaseDetails();
|
.AddGear(parsedBots) // Add weapons/armor
|
||||||
|
.AddLoot(parsedBots)
|
||||||
// Add weapons/armor to bots
|
.AddChances(parsedBots); // Add mod/equipment chances
|
||||||
var botGearGenerator = new BotGearGenerator(baseBots, parsedBots);
|
|
||||||
var botsWithGear = botGearGenerator.AddGear();
|
|
||||||
|
|
||||||
// Add loot to bots
|
|
||||||
var botLootGenerator = new BotLootGenerator(botsWithGear, parsedBots);
|
|
||||||
var botsWithGearAndLoot = botLootGenerator.AddLoot();
|
|
||||||
|
|
||||||
// Add mod/equipment chances
|
|
||||||
var botChancesGenerator = new BotChancesGenerator(botsWithGearAndLoot, parsedBots);
|
|
||||||
var botsWithGearAndLootAndChances = botChancesGenerator.AddChances();
|
|
||||||
|
|
||||||
// Output bot to json file
|
// Output bot to json file
|
||||||
var jsonWriter = new JsonWriter(workingPath, "output");
|
var jsonWriter = new JsonWriter(workingPath, "output");
|
||||||
jsonWriter.WriteJson(botsWithGearAndLootAndChances);
|
jsonWriter.WriteJson(bots.ToList());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user