internal static void GetLoadoutTrainerUpdater(Control.ControlCollection controls, int loadOutOffset) { LoadOut.LoudoutUIData UIData = new LoadOut.LoudoutUIData(GetWeaponData(), GetByteNames(@"H4L_Ability.csv"), GetByteNames(@"H4L_Mods.csv"), GetByteNames(@"H4L_Grenade.csv")); LoadoutAdressSetter trainerUpdater = new LoadoutAdressSetter(new AdressGetter(ModuleType.halo4, 0)); var t = new TrainerUpdater <LoadoutData>(trainerUpdater, new LoadOut(UIData), controls); }
internal static TrainerUpdater <byte> GetTrainerUpdater <T>(string fileName, Control.ControlCollection Controls, long Taddress = 0) { string file = GetFile(fileName); bool isTree = false; bool isColour = false; long address = 0; ModuleType moduleType = ModuleType.baseModule; using (var reader = new StreamReader(file)) { int l = 0; while (!reader.EndOfStream) { l++; string line = reader.ReadLine(); string[] values = line.Split(','); if (l == 3) { if (Taddress == 0) { address = Convert.ToInt32(values[1], 16); } else { address = Taddress; } } if (l == 2) { moduleType = ModFromString(values[1]); } if (l > 5 && values[0].Contains(':')) { isTree = true; } if (l > 5 && values[0].Contains('#')) { isColour = true; } } } ITrainerUI <byte> ui; if (isColour) { ui = GetTrainerColourButtonsFromFile(file); } else if (isTree) { ui = GetTrainerButtonArrayFromFile(file); } else { ui = GetTrainerEnumFromFile(file); } var t = new TrainerUpdater <byte>(new ByteAdressSetter(new AdressGetter(moduleType, (int)address)), ui, Controls); return(t); }