public void upgradeFacilities(ref DataPool worldData, float elo, BoxerClass.Type preference) { int pointsToGive = EvaluationProtocol.getFacilityPointsFromElo(elo); List <ManagerProtocol.FacilityShortcut> upgrades = new List <ManagerProtocol.FacilityShortcut> (new ManagerProtocol.FacilityShortcut[] { ManagerProtocol.FacilityShortcut.DoubleEndBag, ManagerProtocol.FacilityShortcut.PunchGlove, ManagerProtocol.FacilityShortcut.Laps, ManagerProtocol.FacilityShortcut.Sprints, ManagerProtocol.FacilityShortcut.PunchingBag }); List <EvaluationProtocol.Stats> bestStats = BoxerClass.getBuild(preference); foreach (EvaluationProtocol.Stats stat in bestStats) { if (stat.Equals(EvaluationProtocol.Stats.AccuracyGrowth)) { upgrades.Add(ManagerProtocol.FacilityShortcut.DoubleEndBag); } else if (stat.Equals(EvaluationProtocol.Stats.EnduranceGrowth)) { upgrades.Add(ManagerProtocol.FacilityShortcut.PunchGlove); } else if (stat.Equals(EvaluationProtocol.Stats.HealthGrowth)) { upgrades.Add(ManagerProtocol.FacilityShortcut.Laps); } else if (stat.Equals(EvaluationProtocol.Stats.SpeedGrowth)) { upgrades.Add(ManagerProtocol.FacilityShortcut.Sprints); } else if (stat.Equals(EvaluationProtocol.Stats.StrengthGrowth)) { upgrades.Add(ManagerProtocol.FacilityShortcut.PunchingBag); } } for (int i = 0; i < pointsToGive; i++) { if (upgrades.Count > 0) { ManagerProtocol.FacilityShortcut upgrade = upgrades [generateRandomInt(0, upgrades.Count - 1)]; homeBaseFacilities [upgrade].upgradeFacility(ref worldData); if (homeBaseFacilities [upgrade].Level == 5) { upgrades.Remove(upgrade); if (upgrades.IndexOf(upgrade) >= 0) { upgrades.Remove(upgrade); } } } } }
public Homebase(JSONObject json) { level = (int)json.GetField("level").i; homeBaseFacilities = new Dictionary <ManagerProtocol.FacilityShortcut, Facility>(); foreach (JSONObject record in json.GetField("facilities").list) { ManagerProtocol.FacilityShortcut facility = (ManagerProtocol.FacilityShortcut)Enum.Parse(typeof(ManagerProtocol.FacilityShortcut), record.GetField("key").str); homeBaseFacilities.Add(facility, new Facility(record.GetField("value"))); } }
public Ship(JSONObject json) { shipClass = (ShipClass)Enum.Parse(typeof(ShipClass), json.GetField("class").str); speed = (int)json.GetField("speed").i; shipFacilities = new Dictionary <ManagerProtocol.FacilityShortcut, Facility>(); foreach (JSONObject record in json.GetField("facilities").list) { ManagerProtocol.FacilityShortcut facility = (ManagerProtocol.FacilityShortcut)Enum.Parse(typeof(ManagerProtocol.FacilityShortcut), record.GetField("key").str); shipFacilities.Add(facility, new Facility(record.GetField("value"))); } }
public void train(ref DataPool worldData) { ManagerProtocol.FacilityShortcut training = chooseTraining(); if (atSea) { ship.train(ref worldData, boxerIndex, training); } else { homebase.train(ref worldData, boxerIndex, training); } }
private void setupTrainingRegime() { trainingRegime.Add(ManagerProtocol.FacilityShortcut.DoubleEndBag); trainingRegime.Add(ManagerProtocol.FacilityShortcut.Laps); trainingRegime.Add(ManagerProtocol.FacilityShortcut.PunchGlove); trainingRegime.Add(ManagerProtocol.FacilityShortcut.PunchingBag); trainingRegime.Add(ManagerProtocol.FacilityShortcut.Sprints); List <EvaluationProtocol.Stats> bestStats = BoxerClass.getBuild(preference); foreach (EvaluationProtocol.Stats stat in bestStats) { ManagerProtocol.FacilityShortcut shortcut = ManagerProtocol.FacilityShortcut.DoubleEndBag; if (stat.Equals(EvaluationProtocol.Stats.AccuracyGrowth)) { shortcut = ManagerProtocol.FacilityShortcut.DoubleEndBag; } else if (stat.Equals(EvaluationProtocol.Stats.EnduranceGrowth)) { shortcut = ManagerProtocol.FacilityShortcut.PunchGlove; } else if (stat.Equals(EvaluationProtocol.Stats.HealthGrowth)) { shortcut = ManagerProtocol.FacilityShortcut.Laps; } else if (stat.Equals(EvaluationProtocol.Stats.SpeedGrowth)) { shortcut = ManagerProtocol.FacilityShortcut.Sprints; } else if (stat.Equals(EvaluationProtocol.Stats.StrengthGrowth)) { shortcut = ManagerProtocol.FacilityShortcut.PunchingBag; } for (int i = 0; i < 2; i++) { trainingRegime.Add(shortcut); } } }
private void initializeHomebaseFacility(ref DataPool worldData, ManagerProtocol.FacilityShortcut facility, bool ai) { Exercise training = new Exercise("", "", ai); if (facility.Equals(ManagerProtocol.FacilityShortcut.DoubleEndBag)) { training = new Exercise("Double End Bag", worldData.getExerciseDescription("Double End Bag"), ai); } else if (facility.Equals(ManagerProtocol.FacilityShortcut.PunchGlove)) { training = new Exercise("Punch Glove", worldData.getExerciseDescription("Punch Glove"), ai); } else if (facility.Equals(ManagerProtocol.FacilityShortcut.Laps)) { training = new Exercise("Laps", worldData.getExerciseDescription("Laps"), ai); } else if (facility.Equals(ManagerProtocol.FacilityShortcut.Sprints)) { training = new Exercise("Sprints", worldData.getExerciseDescription("Sprints"), ai); } else if (facility.Equals(ManagerProtocol.FacilityShortcut.PunchingBag)) { training = new Exercise("Punching Bag", worldData.getExerciseDescription("Punching Bag"), ai); } List <int> trainingFactors = worldData.getExerciseProgressAcculumative(training.Name, 1); training.setFactors( trainingFactors [0], trainingFactors [1], trainingFactors [2], trainingFactors [3], trainingFactors [4], 20); Facility newFacility = new Facility(); newFacility.createExerciseFacility(1, training); homeBaseFacilities.Add(facility, newFacility); }
public void train(ref DataPool worldData, int boxerIndex, ManagerProtocol.FacilityShortcut training) { shipFacilities [training].utilizeFacility(ref worldData, boxerIndex); }