You are viewing a potentially older version of this package. View all versions.
Rune580-Risk_Of_Options-1.0.3 icon

Risk Of Options

A nice looking Mod Options API

Date uploaded 3 years ago
Version 1.0.3
Download link Rune580-Risk_Of_Options-1.0.3.zip
Downloads 112130
Dependency string Rune580-Risk_Of_Options-1.0.3

This mod requires the following mods to function

bbepis-BepInExPack-5.4.1905 icon
bbepis-BepInExPack

Unified BepInEx all-in-one modding pack - plugin framework, detour library

Preferred version: 5.4.1905

README

RiskOfOptions

An API to add Mod Options in game to ROR2.

Getting Started

Extract the mod to your plugins folder, and then add a reference to the dll in your project in Visual Studio. [Project->Add Reference...->Browse]

Then add to where ever you will use this.

using RiskOfOptions;

Next you need to add Risk Of Options as a dependecy for your mod.

[BepInDependency("com.rune580.riskofoptions")]

Now you're ready to start adding options.

Adding an option

This needs to be run on Awake()

ModSettingsManager.addOption(new ModOption(ModOption.OptionType.Slider, "Test Slider", "This is a Slider test."));

ModSettingsManager.addOption(new ModOption(ModOption.OptionType.Bool, "Test Bool", "This is a Bool test."));

and with default values

ModSettingsManager.addOption(new ModOption(ModOption.OptionType.Slider, "Test Slider", "This is a Slider test.", "20"));

ModSettingsManager.addOption(new ModOption(ModOption.OptionType.Bool, "Test Bool", "This is a Bool test.", "1"));

Changing the description of the mod panel

ModSettingsManager.setPanelDescription("Testing stuff");

Changing the title of the mod panel

ModSettingsManager.setPanelTitle("Risk of Options Testing Stuff");

Fire event when value has changed

for a slider

ModSettingsManager.addListener(ModSettingsManager.getOption("Test Slider"), new UnityEngine.Events.UnityAction<float>(floatEvent));

public void floatEvent(float f)
        {
            Debug.Log(f);
        }

or for a bool

ModSettingsManager.addListener(ModSettingsManager.getOption("Test Bool"), new UnityEngine.Events.UnityAction<bool>(boolEvent));

public void boolEvent(bool b)
        {
            Debug.Log(b);
        }

Get the current value of an option

string b = ModSettingsManager.getOptionValue("Test Bool");

// BaseConVar returns a string as a value.
// for example it could be "1" or "0"

Get the ModOption of an option

ModSettingsManager.getOption("Test Bool")

Changelog

1.0.3 Added R2API as a dependency because I forgot about that. Also I'm currently rewriting ROO,
so hopefully the next update should be a pretty big one. No ETA on that, but progress is good
so far.