generated from kianzarrin/NodeController
-
Notifications
You must be signed in to change notification settings - Fork 3
Home
kianzarrin edited this page Dec 19, 2021
·
20 revisions
for external mods that want to register UUI buttons please look at the example mod: https://github.com/kianzarrin/UnifiedUI/blob/master/ExampleMod/ExampleMod.cs#L79.
please contact me on discord to ask about your specific use case.
Chamelon created some sprites for some mods in here (look for your own mod ID): https://github.com/kianzarrin/UnifiedUI/tree/master/UnifiedUIMod/Resources
using UnifiedUI.Helpers;
string iconPath = UserMod.instance.GetFullPath("Resources", "icon.png"); // returns Path/To/Mod/Resources/icon.png
var button = UUIHelpers.RegisterToolButton(
name: "MyModButton",
groupName: null, // default group
tooltip: "some tooltip",
tool: mytool,
icon: UUIHelpers.LoadTexture(iconPath),
hotkeys: new UUIHotKeys { ActivationKey= ModSettings.Hotkey });
- pressing the ActivationHotkey enables your mod (your mod should not handle the hotkey anymore).
- if your tool is active, UUI will prevent other mods from using their
activationKey
if it collides with yourIn tool HotKey
- HotKeys may be modified in UUI, so don't forget to add the following line: UIKeymappingsPanel.cs:27
using UnifiedUI.Helpers;
string iconPath = UserMod.instance.GetFullPath("Resources", "icon.png"); // returns Path/To/Mod/Resources/icon.png
var customButton = UUIHelpers.RegisterCustomButton(
name: "MyModButton",
groupName: null, // default group
tooltip: "some tooltip",
icon: UUIHelpers.LoadTexture(iconPath),
onToggle:(value)=> value ? MyWindow.Open() : MyWindow.Close();
onToolChanged: null,
hotkeys: new UUIHotKeys { ActivationKey= ModSettings.Hotkey });
MyWindow.Start() => customButton.IsActive = true;
MyWindow.OnDestroy() => customButton.IsActive = false;
If you do not wish to register button and only wish to register hotkeys.
Dictionary<SavedInputKey, bool> activeKeys = new Dictionary<SavedInputKey, bool>(){
{hotkey1,false}, // must be manually set to true when hotkey is active to prevent other mods from using this.
{hotkey2,false}, // must be manually set to true when hotkey is active to prevent other mods from using this.
}
RegisterHotkeys(
onToggle: ToggleMod,
activationKey = new SavedInputKey(...),
activeKeys = dict) {
if (!IsUUIEnabled()) return;
var Register = CreateDelegate<RegisterHotkeysHandler>(GetUUI(), "Register");
Register(
onToggle: onToggle,
activationKey: activationKey, // pressing the hotkey triggers on toggle (if there is not collision with another mod
activeKeys: activeKeys); // does nothing but prevent other mods from triggering the activation hotkey.
}