Fix editor setting initialization for GDExtensions
This commit addresses an issue where editor settings were not properly initialized when using GDExtensions. The problem manifested as an error message: "Condition '!props.has(pinfo.name)' is true" when trying to access the "limbo_ai/editor/layout" setting. Changes: - Replace Dictionary with PropertyInfo for adding property information - Add a safeguard to ensure the setting is explicitly set if not present
This commit is contained in:
parent
f694980c6d
commit
a5517313d2
|
@ -1464,12 +1464,17 @@ LimboAIEditor::LimboAIEditor() {
|
||||||
EDITOR_SETTINGS()->add_property_hint(PropertyInfo(Variant::INT, "limbo_ai/editor/layout", PROPERTY_HINT_ENUM, "Classic:0,Widescreen Optimized:1"));
|
EDITOR_SETTINGS()->add_property_hint(PropertyInfo(Variant::INT, "limbo_ai/editor/layout", PROPERTY_HINT_ENUM, "Classic:0,Widescreen Optimized:1"));
|
||||||
EDITOR_SETTINGS()->set_restart_if_changed("limbo_ai/editor/layout", true);
|
EDITOR_SETTINGS()->set_restart_if_changed("limbo_ai/editor/layout", true);
|
||||||
#elif LIMBOAI_GDEXTENSION
|
#elif LIMBOAI_GDEXTENSION
|
||||||
Dictionary pinfo;
|
PropertyInfo pinfo;
|
||||||
pinfo["name"] = "limbo_ai/editor/layout";
|
pinfo.name = "limbo_ai/editor/layout";
|
||||||
pinfo["type"] = Variant::INT;
|
pinfo.type = Variant::INT;
|
||||||
pinfo["hint"] = PROPERTY_HINT_ENUM;
|
pinfo.hint = PROPERTY_HINT_ENUM;
|
||||||
pinfo["hint_string"] = "Classic:0,Widescreen Optimized:1";
|
pinfo.hint_string = "Classic:0,Widescreen Optimized:1";
|
||||||
EDITOR_SETTINGS()->add_property_info(pinfo);
|
EDITOR_SETTINGS()->add_property_info(pinfo);
|
||||||
|
|
||||||
|
// Hotfix: Ensure the property is set (EditorInterface->get_singleton()->set_initial_value(m_setting, m_value, false) appears insufficient.)
|
||||||
|
if (!EDITOR_SETTINGS()->has_setting("limbo_ai/editor/layout")) {
|
||||||
|
EDITOR_SETTINGS()->set_setting("limbo_ai/editor/layout", 0);
|
||||||
|
}
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
LW_SHORTCUT("limbo_ai/rename_task", TTR("Rename"), LW_KEY(F2));
|
LW_SHORTCUT("limbo_ai/rename_task", TTR("Rename"), LW_KEY(F2));
|
||||||
|
|
Loading…
Reference in New Issue