Event Listening
Updated 8 months agoUsing Events
Configurable company provides some events that can help you updating configuration values and many other things.
The events are all registered under CEvents
class.
Add An Event Listener
To start listening a new event you need to attach a listener. I recommend to add all listeners when your mod starts.
// This method should be called when you plugin starts
public static void AttachListeners() {
// In this example we will listen to configuration changes
CEvents.ConfigEvents.ChangeConfig.AddListener(MyEventListener);
}
public static void MyEventListener(CEventChangeConfig evt) {
if (evt.Config.ID == myConfig.ID) {
// The configuration is the one I want to check
}
}
A brief explanation about what is happening. When you attach a listener, you are telling the event what method(s) should it call.
All events have one parameter that contains all the information about the event. In the example above this paramter is a CEventChangeConfig
that contains information about what value changed in a configuration.
INFO
Some events have aCEvent
parameter. This is the default one and does not contain any information, however it should be added as a parameter anyways.
Existing Events
There a lot of events you can listen to. These are divided into multiples sections depending on the type of event.
Event Type | Event Subtype | Parameter Type | Information |
---|---|---|---|
Menu Events | Save | CEvent | Called every time the save button is pressed |
Reset | CEvent | Called every time the reset button is pressed | |
Restore | CEvent | Called every time the restore button is pressed | |
Copy | CEvent | Called every time the copy button is pressed | |
Paste | CEvent | Called every time the paste button is pressed | |
Prepare | CEvent | Called before the in-game menu is created | |
Create | CEvent | Called when the in-game menu is created | |
Destroy | CEvent | Called when the in-game menu is deleted | |
Toggle | CEventMenuToggle | Called when the menu is open or closed (using the in-game button) | |
Visible | CEventMenuVisible | Called when the menu is hidden or shown (when even the in-game show button is hidden/shown) | |
ChangePage | CEventChangePage | Called when the currently shown page is changed | |
Config Events | CreatePage | CEventCreatePage | Called every time a new page is registered |
CreateCategory | CEventCreateCategory | Called every time a new category is registered | |
CreateSection | CEventCreateSection | Called every time a new section is registered | |
CreateConfig | CEventCreateConfig | Called every time a new config is registered | |
ChangeConfig | CEventChangeConfig | Called every time the value of a configuration tries to be changed | |
ToggleConfig | CEventToggleConfig | Called every time a configuration is enabled or disabled | |
Lifecycle Events | PluginStart | CEvent | Called after Configurable Company finishes loading |
IO Events | CopyToClipboard | CEventCopyClipboard | Called after the configuration has been copied to clipboard |
PasteFromClipboard | CEventPasteClipboard | Called after the configuration has been pasted from the clipboard |