<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Settings_Menu_Reference</id>
	<title>Settings Menu Reference - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?action=history&amp;feed=atom&amp;title=Settings_Menu_Reference"/>
	<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Settings_Menu_Reference&amp;action=history"/>
	<updated>2026-07-31T08:11:15Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.44.0</generator>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Settings_Menu_Reference&amp;diff=3448&amp;oldid=prev</id>
		<title>Imbion at 17:46, 13 August 2025</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Settings_Menu_Reference&amp;diff=3448&amp;oldid=prev"/>
		<updated>2025-08-13T17:46:56Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:46, 13 August 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l44&quot;&gt;Line 44:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 44:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; the function that will be called when the player presses the confirm button. It will have its corresponding [https://github.com/RogueCollab/RogueEssence/blob/master/RogueEssence/Menu/MenuElements/MenuSetting.cs MenuSetting] passed to it, so that you can access its CurrentChoice parameter and use it to actually update whatever value this setting represents.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; the function that will be called when the player presses the confirm button. It will have its corresponding [https://github.com/RogueCollab/RogueEssence/blob/master/RogueEssence/Menu/MenuElements/MenuSetting.cs MenuSetting] passed to it, so that you can access its CurrentChoice parameter and use it to actually update whatever value this setting represents.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;settingChangedAction&amp;lt;/code&amp;gt; the function that will be called whenever the player changes the value of this specific setting. Useful to display changes immediately. PMDO uses this in its original page to temporarily change the window borders without actually saving the setting. It will have its corresponding MenuSetting passed to it, so that you can access its CurrentChoice parameter and use it to actually update whatever temporary value this setting is tied to. Defaults to &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* &amp;lt;code&amp;gt;settingChangedAction&amp;lt;/code&amp;gt; the function that will be called whenever the player changes the value of this specific setting. Useful to display changes immediately. PMDO uses this in its original page to temporarily change the window borders without actually saving the setting. It will have its corresponding MenuSetting passed to it, so that you can access its CurrentChoice parameter and use it to actually update whatever temporary value this setting is tied to. Defaults to &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Quick Reference]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Imbion</name></author>
	</entry>
	<entry>
		<id>https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Settings_Menu_Reference&amp;diff=2481&amp;oldid=prev</id>
		<title>MistressNebula: Create reference page</title>
		<link rel="alternate" type="text/html" href="https://wiki.pmdo.pmdcollab.org/wiki/index.php?title=Settings_Menu_Reference&amp;diff=2481&amp;oldid=prev"/>
		<updated>2024-08-27T09:14:38Z</updated>

		<summary type="html">&lt;p&gt;Create reference page&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__NOTOC__&lt;br /&gt;
= SettingsTitleMenu =&lt;br /&gt;
The title piece of the Settings Menu. This is the entry point for modders to add new settings to the game.&lt;br /&gt;
&lt;br /&gt;
== SettingsTitleMenu.InGame ==&lt;br /&gt;
This read-only property is true if the menu has been opened from inside the game and false if it has been opened from the Top Menu.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SettingsTitleMenu:HasPage(System.String) ==&lt;br /&gt;
Returns &amp;lt;code&amp;gt;true&amp;lt;/code&amp;gt; if a SettingsPage is already associated with the provided key, &amp;lt;code&amp;gt;false&amp;lt;/code&amp;gt; otherwise.&lt;br /&gt;
&lt;br /&gt;
===Arguments===&lt;br /&gt;
* &amp;lt;code&amp;gt;key&amp;lt;/code&amp;gt; the unique id key to test for.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SettingsTitleMenu:AddPage(System.String, System.String) ===&lt;br /&gt;
Creates and returns a new SettingsPage object, assigning it to a key and giving it a title.&lt;br /&gt;
Using a key that already exixts results in an error.&lt;br /&gt;
It is recommended to always use a mod&amp;#039;s namespace as either the prefix of a page&amp;#039;s key or the key itself. This will minimize conflicts and ensure that multiple pages for the same mod stay as close together as possible. Good examples are: &amp;lt;code&amp;gt;my_namespace&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;my_namespace_general&amp;lt;/code&amp;gt;, &amp;lt;code&amp;gt;my_namespace_qol&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
====Arguments====&lt;br /&gt;
* &amp;lt;code&amp;gt;key&amp;lt;/code&amp;gt; the unique id key of the newly created page.&lt;br /&gt;
* &amp;lt;code&amp;gt;title&amp;lt;/code&amp;gt; the localized display title of the page.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== SettingsPage ==&lt;br /&gt;
This object is what gets returned by &amp;lt;code&amp;gt;SettingsTitleMenu:AddPage&amp;lt;/code&amp;gt;. This is the object that actually allows the user to add new settings to the game.&lt;br /&gt;
&lt;br /&gt;
=== SettingsPage.GlobalSaveAction ===&lt;br /&gt;
This property is an Action; a function that takes no parameters and returns nothing. If set, it is called after all of the settings&amp;#039; SaveActions have been ran. PMDO uses this in its original page to bring the player back to the top menu if the language setting has been edited.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== SettingsPage.AddSetting(System.String, NLua.LuaTable, System.Int32, System.Action&amp;lt;RogueEssence.Menu.MenuSetting&amp;gt;, System.Action&amp;lt;RogueEssence.Menu.MenuSetting&amp;gt;) ===&lt;br /&gt;
This function registers a new setting, giving it a name, a list of state, a starting position and some special callbacks.&lt;br /&gt;
&lt;br /&gt;
==== Arguments ====&lt;br /&gt;
* &amp;lt;code&amp;gt;name&amp;lt;/code&amp;gt; the localized display name of the setting.&lt;br /&gt;
* &amp;lt;code&amp;gt;options&amp;lt;/code&amp;gt; a table containing a list of strings. Each string is one of the possible displayed values of the setting.&lt;br /&gt;
* &amp;lt;code&amp;gt;defaultValue&amp;lt;/code&amp;gt; the option this setting will show as its starting value. It must be a number between 0 and &amp;lt;code&amp;gt;#options-1&amp;lt;/code&amp;gt;.&lt;br /&gt;
* &amp;lt;code&amp;gt;action&amp;lt;/code&amp;gt; the function that will be called when the player presses the confirm button. It will have its corresponding [https://github.com/RogueCollab/RogueEssence/blob/master/RogueEssence/Menu/MenuElements/MenuSetting.cs MenuSetting] passed to it, so that you can access its CurrentChoice parameter and use it to actually update whatever value this setting represents.&lt;br /&gt;
* &amp;lt;code&amp;gt;settingChangedAction&amp;lt;/code&amp;gt; the function that will be called whenever the player changes the value of this specific setting. Useful to display changes immediately. PMDO uses this in its original page to temporarily change the window borders without actually saving the setting. It will have its corresponding MenuSetting passed to it, so that you can access its CurrentChoice parameter and use it to actually update whatever temporary value this setting is tied to. Defaults to &amp;lt;code&amp;gt;nil&amp;lt;/code&amp;gt;.&lt;/div&gt;</summary>
		<author><name>MistressNebula</name></author>
	</entry>
</feed>