Editor: Links to "Creating custom tasks" doc page in the editor
This commit is contained in:
parent
27d3ec7555
commit
c5be3a725f
|
@ -17,11 +17,13 @@
|
||||||
#include "../util/limbo_string_names.h"
|
#include "../util/limbo_string_names.h"
|
||||||
|
|
||||||
#ifdef LIMBOAI_MODULE
|
#ifdef LIMBOAI_MODULE
|
||||||
|
#include "editor/editor_scale.h"
|
||||||
#include "scene/gui/button.h"
|
#include "scene/gui/button.h"
|
||||||
#endif // LIMBOAI_MODULE
|
#endif // LIMBOAI_MODULE
|
||||||
|
|
||||||
#ifdef LIMBOAI_GDEXTENSION
|
#ifdef LIMBOAI_GDEXTENSION
|
||||||
#include <godot_cpp/classes/button.hpp>
|
#include <godot_cpp/classes/button.hpp>
|
||||||
|
#include <godot_cpp/classes/editor_interface.hpp>
|
||||||
#endif // LIMBOAI_GDEXTENSION
|
#endif // LIMBOAI_GDEXTENSION
|
||||||
|
|
||||||
void ActionBanner::set_text(const String &p_text) {
|
void ActionBanner::set_text(const String &p_text) {
|
||||||
|
@ -43,6 +45,12 @@ void ActionBanner::add_action(const String &p_name, const Callable &p_action, bo
|
||||||
hbox->add_child(action_btn);
|
hbox->add_child(action_btn);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ActionBanner::add_spacer() {
|
||||||
|
Control *spacer = memnew(Control);
|
||||||
|
spacer->set_custom_minimum_size(Vector2(8.0 * EDSCALE, 0.0));
|
||||||
|
hbox->add_child(spacer);
|
||||||
|
}
|
||||||
|
|
||||||
void ActionBanner::_execute_action(const Callable &p_action, bool p_auto_close) {
|
void ActionBanner::_execute_action(const Callable &p_action, bool p_auto_close) {
|
||||||
#ifdef LIMBOAI_MODULE
|
#ifdef LIMBOAI_MODULE
|
||||||
Callable::CallError ce;
|
Callable::CallError ce;
|
||||||
|
|
|
@ -50,6 +50,7 @@ public:
|
||||||
String get_text() const;
|
String get_text() const;
|
||||||
|
|
||||||
void add_action(const String &p_name, const Callable &p_action, bool p_auto_close = false);
|
void add_action(const String &p_name, const Callable &p_action, bool p_auto_close = false);
|
||||||
|
void add_spacer();
|
||||||
|
|
||||||
void close();
|
void close();
|
||||||
|
|
||||||
|
|
|
@ -594,12 +594,15 @@ void LimboAIEditor::_probability_popup_closed() {
|
||||||
|
|
||||||
void LimboAIEditor::_misc_option_selected(int p_id) {
|
void LimboAIEditor::_misc_option_selected(int p_id) {
|
||||||
switch (p_id) {
|
switch (p_id) {
|
||||||
case MISC_INTRODUCTION: {
|
|
||||||
LimboUtility::get_singleton()->open_doc_introduction();
|
|
||||||
} break;
|
|
||||||
case MISC_ONLINE_DOCUMENTATION: {
|
case MISC_ONLINE_DOCUMENTATION: {
|
||||||
LimboUtility::get_singleton()->open_doc_online();
|
LimboUtility::get_singleton()->open_doc_online();
|
||||||
} break;
|
} break;
|
||||||
|
case MISC_DOC_INTRODUCTION: {
|
||||||
|
LimboUtility::get_singleton()->open_doc_introduction();
|
||||||
|
} break;
|
||||||
|
case MISC_DOC_CUSTOM_TASKS: {
|
||||||
|
LimboUtility::get_singleton()->open_doc_custom_tasks();
|
||||||
|
} break;
|
||||||
case MISC_OPEN_DEBUGGER: {
|
case MISC_OPEN_DEBUGGER: {
|
||||||
ERR_FAIL_COND(LimboDebuggerPlugin::get_singleton() == nullptr);
|
ERR_FAIL_COND(LimboDebuggerPlugin::get_singleton() == nullptr);
|
||||||
if (LimboDebuggerPlugin::get_singleton()->get_session_tab()->get_window_enabled()) {
|
if (LimboDebuggerPlugin::get_singleton()->get_session_tab()->get_window_enabled()) {
|
||||||
|
@ -951,8 +954,9 @@ void LimboAIEditor::_update_misc_menu() {
|
||||||
|
|
||||||
misc_menu->clear();
|
misc_menu->clear();
|
||||||
|
|
||||||
misc_menu->add_icon_item(theme_cache.introduction_icon, TTR("Introduction"), MISC_INTRODUCTION);
|
|
||||||
misc_menu->add_icon_item(theme_cache.doc_icon, TTR("Online Documentation"), MISC_ONLINE_DOCUMENTATION);
|
misc_menu->add_icon_item(theme_cache.doc_icon, TTR("Online Documentation"), MISC_ONLINE_DOCUMENTATION);
|
||||||
|
misc_menu->add_icon_item(theme_cache.introduction_icon, TTR("Introduction"), MISC_DOC_INTRODUCTION);
|
||||||
|
misc_menu->add_icon_item(theme_cache.introduction_icon, TTR("Creating custom tasks in GDScript"), MISC_DOC_CUSTOM_TASKS);
|
||||||
|
|
||||||
misc_menu->add_separator();
|
misc_menu->add_separator();
|
||||||
#ifdef LIMBOAI_MODULE
|
#ifdef LIMBOAI_MODULE
|
||||||
|
@ -981,6 +985,8 @@ void LimboAIEditor::_update_banners() {
|
||||||
banner->set_text(vformat(TTR("Task folder not found: %s"), task_dir));
|
banner->set_text(vformat(TTR("Task folder not found: %s"), task_dir));
|
||||||
banner->add_action(TTR("Create"), callable_mp(this, &LimboAIEditor::_create_user_task_dir), true);
|
banner->add_action(TTR("Create"), callable_mp(this, &LimboAIEditor::_create_user_task_dir), true);
|
||||||
banner->add_action(TTR("Edit Path..."), callable_mp(this, &LimboAIEditor::_edit_project_settings));
|
banner->add_action(TTR("Edit Path..."), callable_mp(this, &LimboAIEditor::_edit_project_settings));
|
||||||
|
banner->add_spacer();
|
||||||
|
banner->add_action(TTR("Help..."), callable_mp(LimboUtility::get_singleton(), &LimboUtility::open_doc_custom_tasks));
|
||||||
banner->set_meta(LW_NAME(managed), Variant(true));
|
banner->set_meta(LW_NAME(managed), Variant(true));
|
||||||
banners->call_deferred(LW_NAME(add_child), banner);
|
banners->call_deferred(LW_NAME(add_child), banner);
|
||||||
}
|
}
|
||||||
|
@ -1004,7 +1010,7 @@ void LimboAIEditor::_update_banners() {
|
||||||
if (!limitations_banner_shown && GLOBAL_GET("debug/gdscript/warnings/native_method_override") == Variant(2)) {
|
if (!limitations_banner_shown && GLOBAL_GET("debug/gdscript/warnings/native_method_override") == Variant(2)) {
|
||||||
ActionBanner *banner = memnew(ActionBanner);
|
ActionBanner *banner = memnew(ActionBanner);
|
||||||
banner->set_text(vformat(TTR("In Project Settings, \"debug/gdscript/warnings/native_method_override\" is set to \"Error\"")));
|
banner->set_text(vformat(TTR("In Project Settings, \"debug/gdscript/warnings/native_method_override\" is set to \"Error\"")));
|
||||||
banner->add_action(TTR("Instructions"), callable_mp(LimboUtility::get_singleton(), &LimboUtility::open_doc_gdextension_limitations));
|
banner->add_action(TTR("Instructions..."), callable_mp(LimboUtility::get_singleton(), &LimboUtility::open_doc_gdextension_limitations));
|
||||||
banner->add_action(TTR("Dismiss"), callable_mp(banner, &ActionBanner::close));
|
banner->add_action(TTR("Dismiss"), callable_mp(banner, &ActionBanner::close));
|
||||||
banners->call_deferred(LW_NAME(add_child), banner);
|
banners->call_deferred(LW_NAME(add_child), banner);
|
||||||
limitations_banner_shown = true;
|
limitations_banner_shown = true;
|
||||||
|
|
|
@ -85,8 +85,9 @@ private:
|
||||||
};
|
};
|
||||||
|
|
||||||
enum MiscMenu {
|
enum MiscMenu {
|
||||||
MISC_INTRODUCTION,
|
|
||||||
MISC_ONLINE_DOCUMENTATION,
|
MISC_ONLINE_DOCUMENTATION,
|
||||||
|
MISC_DOC_INTRODUCTION,
|
||||||
|
MISC_DOC_CUSTOM_TASKS,
|
||||||
MISC_OPEN_DEBUGGER,
|
MISC_OPEN_DEBUGGER,
|
||||||
MISC_PROJECT_SETTINGS,
|
MISC_PROJECT_SETTINGS,
|
||||||
MISC_CREATE_SCRIPT_TEMPLATE,
|
MISC_CREATE_SCRIPT_TEMPLATE,
|
||||||
|
|
|
@ -348,6 +348,11 @@ void LimboUtility::open_doc_gdextension_limitations() {
|
||||||
LIMBO_DOC_VERSION));
|
LIMBO_DOC_VERSION));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void LimboUtility::open_doc_custom_tasks() {
|
||||||
|
OS::get_singleton()->shell_open(vformat("https://limboai.readthedocs.io/en/%s/getting-started/custom-tasks.html",
|
||||||
|
LIMBO_DOC_VERSION));
|
||||||
|
}
|
||||||
|
|
||||||
void LimboUtility::open_doc_class(const String &p_class_name) {
|
void LimboUtility::open_doc_class(const String &p_class_name) {
|
||||||
if (p_class_name.begins_with("res://")) {
|
if (p_class_name.begins_with("res://")) {
|
||||||
SHOW_DOC(vformat("class_name:\"%s\"", p_class_name));
|
SHOW_DOC(vformat("class_name:\"%s\"", p_class_name));
|
||||||
|
|
|
@ -96,6 +96,7 @@ public:
|
||||||
void open_doc_introduction();
|
void open_doc_introduction();
|
||||||
void open_doc_online();
|
void open_doc_online();
|
||||||
void open_doc_gdextension_limitations();
|
void open_doc_gdextension_limitations();
|
||||||
|
void open_doc_custom_tasks();
|
||||||
void open_doc_class(const String &p_class_name);
|
void open_doc_class(const String &p_class_name);
|
||||||
#endif // TOOLS_ENABLED
|
#endif // TOOLS_ENABLED
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue