public void LoadFromFile() { string address = ModFolder; Debug.Log("Checking for: " + address); if (Directory.Exists(address)) { Debug.Log(address + " exists!"); try { Debug.Log("Checking for: " + address + @"\settings.json"); string temp = File.ReadAllText(address + @"\settings.json"); settings = JsonConvert.DeserializeObject <AirTrafficSettings>(temp); settingsChanged = false; } catch { Debug.Log("no json found, making one"); SaveToFile(); } } else { Debug.Log("Mod folder not found?"); } }
public override void ModLoaded() { HarmonyInstance harmony = HarmonyInstance.Create("cheese.airtraffic"); harmony.PatchAll(Assembly.GetExecutingAssembly()); base.ModLoaded(); VTOLAPI.SceneLoaded += SceneLoaded; VTOLAPI.MissionReloaded += MissionReloaded; settings = new AirTrafficSettings(); LoadFromFile(); Settings modSettings = new Settings(this); modSettings.CreateCustomLabel("Air Traffic Settings"); modSettings.CreateCustomLabel(""); modSettings.CreateCustomLabel("Transport Aircraft"); targetAircraftAmmount_changed += targetAircraftAmmount_Setting; modSettings.CreateCustomLabel("Ammount of transport aircraft:"); modSettings.CreateIntSetting("(Default = 15)", targetAircraftAmmount_changed, settings.targetAircraftAmmount); useTransportAV42_changed += useTransportAV42_Setting; modSettings.CreateCustomLabel("Allow AV-42 to spawn as transport:"); modSettings.CreateBoolSetting("(Default = true)", useTransportAV42_changed, settings.useTransportAV42); useTransportBig_changed += useTransportBig_Setting; modSettings.CreateCustomLabel("Allow big aircraft to spawn as transport:"); modSettings.CreateCustomLabel("(Modified KC-49 and E-4)"); modSettings.CreateBoolSetting("(Default = true)", useTransportBig_changed, settings.useTransportBig); useTransportDrone_changed += useTransportDrone_Setting; modSettings.CreateCustomLabel("Allow amazoon drone to spawn as transport:"); modSettings.CreateCustomLabel("(Modified refuel plane)"); modSettings.CreateBoolSetting("(Default = true)", useTransportDrone_changed, settings.useTransportDrone); useFighters_changed += useFighters_Setting; modSettings.CreateCustomLabel("Allow fighter jets to spawn as transport:"); modSettings.CreateCustomLabel("(F/A-26 and F45s)"); modSettings.CreateBoolSetting("(Default = true)", useFighters_changed, settings.useFighters); useBomber_changed += useBomber_Setting; modSettings.CreateCustomLabel("Allow bombers to spawn as supersonic transport:"); modSettings.CreateBoolSetting("(Default = true)", useBomber_changed, settings.useBomber); useBomber_changed += useBomber_Setting; modSettings.CreateCustomLabel("Allow enemy aircraft to spawn as transport:"); modSettings.CreateBoolSetting("(Default = true)", useEnemy_changed, settings.useEnemy); mpTestMode_changed += mpTestMode_Setting; modSettings.CreateCustomLabel("MP Test Mode:"); modSettings.CreateBoolSetting("(Default = false)", mpTestMode_changed, settings.mpTestMode); modSettings.CreateCustomLabel("This spreads the aircraft across the entire map instead of just near the player."); modSettings.CreateCustomLabel("DO NOT USE, IT IS NOT NECESSARY FOR MP"); modSettings.CreateCustomLabel(""); modSettings.CreateCustomLabel("Please feel free to @ me on the discord if"); modSettings.CreateCustomLabel("you think of any more features I could add!"); VTOLAPI.CreateSettingsMenu(modSettings); instance = this; UpdateTransportAircraft(); }