public override void ModLoaded() { base.ModLoaded(); stringChanged += IpChanged; settings = new Settings(this); settings.CreateCustomLabel("The IP of the system receiving the telemetry stream."); settings.CreateCustomLabel("Default = 127.0.0.1"); settings.CreateStringSetting("Current IP", stringChanged, receiverIp); intChanged += PortChanged; settings.CreateCustomLabel("The receiverPort to send the telemetry stream to."); settings.CreateCustomLabel("Default = 4123"); settings.CreateIntSetting("Current Port", intChanged, receiverPort); udpChanged += udpEnabledChanged; settings.CreateCustomLabel("Output telemetry to UDP."); settings.CreateCustomLabel("Default = False"); settings.CreateBoolSetting("Enable UDP Output", udpChanged, udpEnabled); csvChanged += csvEnabledChanged; settings.CreateCustomLabel("Saves the telemetry log to CSV file in VTOL VR Directory. If this is enabled features such as engine telemetry will not be saved."); settings.CreateCustomLabel("Default = False"); settings.CreateBoolSetting("Enable CSV Output", csvChanged, csvEnabled); jsonChanged += jsonEnabledChanged; settings.CreateCustomLabel("Saves the telemetry log to JSON file in VTOL VR Directory. If this is enabled features such as engine telemetry will not be saved."); settings.CreateCustomLabel("Default = False"); settings.CreateBoolSetting("Enable JSON Output", jsonChanged, csvEnabled); VTOLAPI.CreateSettingsMenu(settings); Debug.Log($"{Globals.projectName} - Telemetry Mod {Globals.projectVersion} by {Globals.projectAuthor} loaded!"); }
public override void ModLoaded() { base.ModLoaded(); multiplierChanged += failureRateMultiplierChanged; failures = GetFailures(); List <String> failureCategories = new List <string>(failures.Keys); settings = new Settings(this); settings.CreateCustomLabel("Failure rate multiplier changes how often failures happen."); settings.CreateCustomLabel("Default = 1"); settings.CreateFloatSetting("Failure multiplier:", multiplierChanged, failureRateMultiplier); settings.CreateCustomLabel("Failure Categories (Currently Read Only)"); Dictionary <String, Boolean> failureCategoriesEnabled = new Dictionary <string, bool>(); foreach (String category in failureCategories) { failureCategoriesEnabled.Add(category, true); settings.CreateBoolSetting(category, failureCategoryChange, true); } VTOLAPI.CreateSettingsMenu(settings); Debug.Log($"{Globals.projectName} - {Globals.projectVersion} by {Globals.projectAuthor} loaded!"); }
private void CreateSettingsPage() { settings = new Settings(this); //public bool spawnRemainingPlayersAtAirBase = false; //private bool spawnRemainingPlayersAtAirBase_changed; //public bool replaceWingmenWithClients = true; //private bool replaceWingmenWithClients_changed; //public bool restrictToHostMods = true; //private bool restrictToHostMods_changed; //public bool forceWinds = false; // not implemented //private bool forceWinds_changed; //public bool FreeForAllMode = false; // not implemented //private bool FreeForAllMode_changed; settings.CreateCustomLabel("Host Settings"); /*spawnRemainingPlayersAtAirBase_changed += spawnRemainingPlayersAtAirBase_Setting; * settings.CreateCustomLabel("Spawn players at airbase if there are no wingmen available."); * settings.CreateBoolSetting("Default = False", spawnRemainingPlayersAtAirBase_changed, spawnRemainingPlayersAtAirBase);*/ /*replaceWingmenWithClients_changed += replaceWingmenWithClients_Setting; * settings.CreateCustomLabel("Replace AI wingmen (with the same flight designation) with clients."); * settings.CreateBoolSetting("Default = True", replaceWingmenWithClients_changed, replaceWingmenWithClients);*/ restrictToHostMods_changed += restrictToHostMods_Settings; settings.CreateCustomLabel("Require clients to use the same mods as host."); settings.CreateBoolSetting("Default = True", restrictToHostMods_changed, restrictToHostMods); /*forceWinds_changed += forceWinds_Settings; * settings.CreateCustomLabel("Force winds on for clients (Not functional)."); * settings.CreateBoolSetting("Default = True", forceWinds_changed, forceWinds);*/ debugLogs_changed += debugLog_Settings; settings.CreateCustomLabel("Activate Debug Logs."); settings.CreateBoolSetting("Default = False", debugLogs_changed, debugLogs); /*FreeForAllMode_changed += FreeForAllMode_Settings; * settings.CreateCustomLabel("Free For All Mode! Sets all clients to enemies (Not functional)."); * settings.CreateBoolSetting("Default = True", FreeForAllMode_changed, FreeForAllMode);*/ DisplayPing_changed += DisplayPing_Settings; settings.CreateCustomLabel("Show ping on the screen. (Not vr)"); settings.CreateBoolSetting("Default = False", DisplayPing_changed, displayPing); VTOLAPI.CreateSettingsMenu(settings); }
private void CreateSettingsPage() { settings = new Settings(this); settings.CreateCustomLabel("General Settings"); hidePlayerNameTags_changed += hidePlayerNameTags_Settings; hidePlayerRoundels_changed += (set) => { AvatarManager.hideAvatars = set; }; settings.CreateCustomLabel("Hide player name tags."); settings.CreateBoolSetting("Default = False", hidePlayerNameTags_changed, hidePlayerNameTags); settings.CreateCustomLabel("Hide players roundels."); settings.CreateBoolSetting("Default = False", hidePlayerRoundels_changed, AvatarManager.hideAvatars); settings.CreateCustomLabel("Host Settings"); /*spawnRemainingPlayersAtAirBase_changed += spawnRemainingPlayersAtAirBase_Setting; * settings.CreateCustomLabel("Spawn players at airbase if there are no wingmen available."); * settings.CreateBoolSetting("Default = False", spawnRemainingPlayersAtAirBase_changed, spawnRemainingPlayersAtAirBase);*/ /*replaceWingmenWithClients_changed += replaceWingmenWithClients_Setting; * settings.CreateCustomLabel("Replace AI wingmen (with the same flight designation) with clients."); * settings.CreateBoolSetting("Default = True", replaceWingmenWithClients_changed, replaceWingmenWithClients);*/ restrictToHostMods_changed += restrictToHostMods_Settings; settings.CreateCustomLabel("Require clients to use the same mods as host."); settings.CreateBoolSetting("Default = True", restrictToHostMods_changed, restrictToHostMods); /*forceWinds_changed += forceWinds_Settings; * settings.CreateCustomLabel("Force winds on for clients (Not functional)."); * settings.CreateBoolSetting("Default = True", forceWinds_changed, forceWinds);*/ debugLogs_changed += debugLog_Settings; settings.CreateCustomLabel("Activate Debug Logs."); settings.CreateBoolSetting("Default = False", debugLogs_changed, debugLogs); /*FreeForAllMode_changed += FreeForAllMode_Settings; * settings.CreateCustomLabel("Free For All Mode! Sets all clients to enemies (Not functional)."); * settings.CreateBoolSetting("Default = True", FreeForAllMode_changed, FreeForAllMode);*/ DisplayPing_changed += DisplayPing_Settings; settings.CreateCustomLabel("Show ping on the screen. (Not vr)"); settings.CreateBoolSetting("Default = False", DisplayPing_changed, displayPing); displayClouds_changed += DisplayCloud_Settings; settings.CreateCustomLabel("Show C"); settings.CreateBoolSetting("Default = False", displayClouds_changed, displayClouds); VTOLAPI.CreateSettingsMenu(settings); }
public override void ModLoaded() { HarmonyInstance harmony = HarmonyInstance.Create("cheese.skijump"); harmony.PatchAll(Assembly.GetExecutingAssembly()); base.ModLoaded(); //VTOLAPI.SceneLoaded += SceneLoaded; //VTOLAPI.MissionReloaded += MissionReloaded; Settings settings = new Settings(this); settings.CreateCustomLabel("Watch Settings"); leftHand_changed += leftHand_Setting; settings.CreateBoolSetting("Watch on left hand?", leftHand_changed, leftHand); VTOLAPI.CreateSettingsMenu(settings); }
public override void ModLoaded() { HarmonyInstance harmony = HarmonyInstance.Create("cheese.SCam+"); harmony.PatchAll(Assembly.GetExecutingAssembly()); base.ModLoaded(); VTOLAPI.SceneLoaded += SceneLoaded; VTOLAPI.MissionReloaded += MissionReloaded; //ammountOfModes = Enum.GetValues(typeof(SpectatorBehaviorsPlus)).Length; cameraModes = new List <CameraMode>(); settings = new Settings(this); settings.CreateCustomLabel("S-Cam+ Settings"); settings.CreateCustomLabel(""); up_changed += up_Setting; settings.CreateIntSetting("Camera Up Vector: ", up_changed, (int)upType, 0, 4); settings.CreateCustomLabel("0 = Unmodified/Same as Stock"); settings.CreateCustomLabel("1 = World Up"); settings.CreateCustomLabel("2 = Aircraft Up"); settings.CreateCustomLabel("3 = G-Force Up"); settings.CreateCustomLabel("4 = Head Up"); settings.CreateCustomLabel("5 = Itself / No Up Vector"); settings.CreateCustomLabel("Note: Camera is still upright in preview."); settings.CreateCustomLabel(""); settings.CreateCustomLabel("Auto-Tracking Settings"); trackMinTime_changed += trackMinTime_Setting; settings.CreateCustomLabel("Minimum Tracking Time:"); settings.CreateCustomLabel("(How long a target must be tracked"); settings.CreateCustomLabel("before changing for closer/locked)"); settings.CreateCustomLabel("(Also how long its tracked after death)"); settings.CreateFloatSetting("(Default = 1)", trackMinTime_changed, trackMinTime, 0, 10); settings.CreateCustomLabel(""); settings.CreateCustomLabel("AceCombat Camera Settings"); aceMinFov_changed += aceMinFov_Setting; settings.CreateCustomLabel("Minimum FOV:"); settings.CreateFloatSetting("(Default = 5)", aceMinFov_changed, aceFovRange.min, 5, 100); aceMinFov_changed += aceMaxFov_Setting; settings.CreateCustomLabel("Maximum FOV:"); settings.CreateFloatSetting("(Default = 60)", aceMaxFov_changed, aceFovRange.max, 5, 100); acePosLerp_changed += acePosLerp_Setting; settings.CreateCustomLabel("Position Lerp:"); settings.CreateFloatSetting("(Default = 5)", acePosLerp_changed, acePosLerp, 0, 100); aceRotLerp_changed += aceRotLerp_Setting; settings.CreateCustomLabel("Rotation Lerp:"); settings.CreateFloatSetting("(Default = 5)", aceRotLerp_changed, aceRotLerp, 0, 100); aceZoomLead_changed += aceZoomLead_Setting; settings.CreateCustomLabel("Zoom Lead (in secconds):"); settings.CreateFloatSetting("(Default = 2)", aceZoomLead_changed, aceZoomLead, 0, 10); aceZoomLerp_changed += aceZoomLerp_Setting; settings.CreateCustomLabel("Zoom Lerp:"); settings.CreateFloatSetting("(Default = 0.5f)", aceZoomLerp_changed, aceZoomLerp, 0, 100); settings.CreateCustomLabel(""); settings.CreateCustomLabel("Please feel free to @ me on the discord if"); settings.CreateCustomLabel("you think of any more features I could add!"); VTOLAPI.CreateSettingsMenu(settings); AddNewCameraMode(new CameraMode_AceCombat("ace", "AceCombat")); AddNewCameraMode(new CameraMode_TGP("tgp", "TGP")); AddNewCameraMode(new CameraMode_SmoothTGP("smoothTgp", "SmoothTGP")); AddNewCameraMode(new CameraMode_HUD("hud", "HUD")); AddNewCameraMode(new CameraMode_ExtCam("ext", "ExtCam")); AddNewCameraMode(new CameraMode_FreeCam("free", "FreeCam")); AddNewCameraMode(new CameraMode_SmoothZoom("zoom", "SmoothZoom")); }
public override void ModLoaded() { HarmonyInstance harmony = HarmonyInstance.Create("cheese.cheesesAITweaks"); harmony.PatchAll(Assembly.GetExecutingAssembly()); Debug.Log("Patched the AI"); instance = this; base.ModLoaded(); VTOLAPI.SceneLoaded += SceneLoaded; VTOLAPI.MissionReloaded += MissionReloaded; apToHelper = new Dictionary <AutoPilot, CheeseAIHelper>(); aiToHelper = new Dictionary <AIPilot, CheeseAIHelper>(); settings = new CheesesAISettings(); LoadFromFile(); StartCoroutine(LoadAssetBundle()); Settings modSettings = new Settings(this); modSettings.CreateCustomLabel("Cheese's AI Tweaks Settings"); modSettings.CreateCustomLabel(""); modSettings.CreateCustomLabel("Control Noise Settings"); modSettings.CreateCustomLabel("The control noise adds random noise to the AIs inputs, to make them seem more human"); controlNoiseEnabled_changed += controlNoiseEnabled_Setting; modSettings.CreateCustomLabel("Control Noise Enabled:"); modSettings.CreateBoolSetting("(Default = true)", controlNoiseEnabled_changed, settings.controlNoiseEnabled); controlNoiseIntensity_changed += controlNoiseIntensity_Setting; modSettings.CreateCustomLabel("Control Noise Intensity:"); modSettings.CreateCustomLabel("This is the size of the noise added to the inputs"); modSettings.CreateFloatSetting("(Default = 5%)", controlNoiseIntensity_changed, settings.controlNoiseIntensity * 100, 0, 100); controlNoiseFrequency_changed += controlNoiseFrequency_Setting; modSettings.CreateCustomLabel("Control Noise Frequency:"); modSettings.CreateCustomLabel("This is the frequency at which the noise changes"); modSettings.CreateFloatSetting("(Default = 2)", controlNoiseFrequency_changed, settings.controlNoiseFrequency, 1, 60); controlNoiseLargeAircraftFrequency_changed += controlNoiseLargeAircraftFrequency_Setting; modSettings.CreateCustomLabel("Control Noise Frequency:"); modSettings.CreateCustomLabel("This is the frequency at which the noise changes for large aircraft"); modSettings.CreateFloatSetting("(Default = 5)", controlNoiseLargeAircraftFrequency_changed, settings.controlNoiseLargeAircraftFrequency, 0, 60); controlNoiseLayers_changed += controlNoiseLayers_Setting; modSettings.CreateCustomLabel("Control Noise Layers:"); modSettings.CreateCustomLabel("This is the ammount of perlin noise layers used to create the noise"); modSettings.CreateIntSetting("(Default = 3)", controlNoiseLayers_changed, settings.controlNoiseLayers, 0, 5); allowRefuelingNoise_changed += allowRefuelingNoise_Setting; modSettings.CreateCustomLabel("Allow noise when refueling another aircraft:"); modSettings.CreateCustomLabel("Makes air to air refueling much harder"); modSettings.CreateBoolSetting("(Default = false)", allowRefuelingNoise_changed, settings.allowRefuelingNoise); /*formationDriftIntensity_changed += formationDriftIntensity_Setting; * modSettings.CreateCustomLabel("Formation Drift Intensity:"); * modSettings.CreateCustomLabel("This is the radius the aircraft can drift from its target"); * modSettings.CreateFloatSetting("(Default = 3m)", formationDriftIntensity_changed, settings.formationDriftIntensity, 0, 10); * * formationDriftFrequency_changed += formationDriftFrequency_Setting; * modSettings.CreateCustomLabel("Formation Drift Frequency:"); * modSettings.CreateCustomLabel("This is the frequency at which the aircraft drifts in formation"); * modSettings.CreateFloatSetting("(Default = 5)", formationDriftFrequency_changed, settings.formationDriftFrequency, 1, 60);*/ modSettings.CreateCustomLabel(""); rockWingsOnContact_changed += rockWingsOnContact_Setting; modSettings.CreateCustomLabel("Rock wings on contact:"); modSettings.CreateBoolSetting("(Default = true)", rockWingsOnContact_changed, settings.rockWingsOnContact); modSettings.CreateCustomLabel(""); dropTankMode_changed += dropTankMode_Setting; modSettings.CreateCustomLabel("Drop Tank Mode:"); modSettings.CreateIntSetting("(Default = 0)", dropTankMode_changed, (int)settings.dropTankMode, 0, 1); modSettings.CreateCustomLabel("0 = Normal (Only drop when empty)"); modSettings.CreateCustomLabel("1 = Drop On Contact"); modSettings.CreateCustomLabel(""); enemyEjectorSeats_changed += enemyEjectorSeats_Setting; modSettings.CreateCustomLabel("Enemy Aircraft Ejector Seats:"); modSettings.CreateBoolSetting("(Default = true)", enemyEjectorSeats_changed, settings.enemyEjectorSeats); modSettings.CreateCustomLabel(""); collisionMode_changed += collisionMode_Setting; modSettings.CreateCustomLabel("Collsion Mode:"); modSettings.CreateIntSetting("(Default = 0)", collisionMode_changed, (int)settings.collisionMode, 0, 2); modSettings.CreateCustomLabel("0 = Normal"); modSettings.CreateCustomLabel("1 = Always On"); modSettings.CreateCustomLabel("2 = Always Off"); modSettings.CreateCustomLabel(""); modSettings.CreateCustomLabel("AI aircraft don't have collisions on the ground normally,"); modSettings.CreateCustomLabel("You can enable them, but the AI could get stuck"); modSettings.CreateCustomLabel("on missions with many taxiing aircraft"); modSettings.CreateCustomLabel(""); modSettings.CreateCustomLabel("Detection Settings"); allAICanEvade_changed += allAICanEvade_Setting; modSettings.CreateCustomLabel("All AI can evade:"); modSettings.CreateCustomLabel("AWACS and the KC-49 cannot normaly evade missiles"); modSettings.CreateBoolSetting("(Default = true)", allAICanEvade_changed, settings.allAICanEvade); //rockShips_changed += rockShips_Setting; //modSettings.CreateCustomLabel("Rock Ships:"); //modSettings.CreateCustomLabel("Should ships be rocked by the wind?"); //modSettings.CreateBoolSetting("(Default = true)", rockShips_changed, settings.rockShips); //windSpeed_changed += windSpeed_Setting; //modSettings.CreateCustomLabel("Wind Speed (kts):"); //modSettings.CreateCustomLabel("This is the windspeed used to work out how much to rock the ships"); //modSettings.CreateFloatSetting("(Default = 50kts)", windSpeed_changed, settings.windSpeed, 0f, 100f); /* * tweakTargetFinders_changed += tweakTargetFinders_Setting; * modSettings.CreateCustomLabel("Tweak Visual Target Finders:"); * modSettings.CreateBoolSetting("(Default = true)", tweakTargetFinders_changed, settings.tweakTargetFinders); */ modSettings.CreateCustomLabel(""); modSettings.CreateCustomLabel("Joke Settings"); modSettings.CreateCustomLabel(""); eyes_changed += eyes_Setting; modSettings.CreateCustomLabel("Googly Eyes:"); modSettings.CreateCustomLabel("Adds googly eyes to various AI units"); modSettings.CreateBoolSetting("(Default = false)", eyes_changed, settings.eyes); invertedAI_changed += invertedAI_Setting; modSettings.CreateCustomLabel("Inverted AI:"); modSettings.CreateCustomLabel("Causes the AI to fly upside down"); modSettings.CreateBoolSetting("(Default = false)", invertedAI_changed, settings.invertedAI); 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); }
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(); }