Compare commits
16 Commits
ff4f9760b5
...
b4d58b9dca
Author | SHA1 | Date |
---|---|---|
Wilson E. Alvarez | b4d58b9dca | |
Serhii Snitsaruk | bc2c4a26ac | |
Serhii Snitsaruk | 83214fc93b | |
Serhii Snitsaruk | e062669cf7 | |
Serhii Snitsaruk | 2e94bf8bf2 | |
Serhii Snitsaruk | e8816091e6 | |
Serhii Snitsaruk | fc1b99a5b1 | |
Serhii Snitsaruk | 04300e5222 | |
Wilson E. Alvarez | 8f684f4169 | |
Wilson E. Alvarez | 5258506e12 | |
Wilson E. Alvarez | 2f0468bb00 | |
Wilson E. Alvarez | 2c740e7741 | |
Wilson E. Alvarez | 606b5a9276 | |
Wilson E. Alvarez | fa1fd7f55f | |
Wilson E. Alvarez | 127696e5ac | |
Wilson E. Alvarez | 5e5f849208 |
|
@ -0,0 +1,47 @@
|
||||||
|
name: Setup Linux toolchain
|
||||||
|
|
||||||
|
inputs:
|
||||||
|
arch:
|
||||||
|
required: true
|
||||||
|
|
||||||
|
runs:
|
||||||
|
using: "composite"
|
||||||
|
steps:
|
||||||
|
- name: Set up environment
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
# ! Settings:
|
||||||
|
TOOLCHAIN_64_URL=https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
TOOLCHAIN_64_SHA=16c8302fcb676c1f0fb9df73d6cff250ba1f4286
|
||||||
|
TOOLCHAIN_32_URL=https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/i686-godot-linux-gnu_sdk-buildroot.tar.bz2
|
||||||
|
TOOLCHAIN_32_SHA=6171652abc54ef219e5187bc53660ee4e2f796f4
|
||||||
|
# ! Export variables:
|
||||||
|
if [[ "${{ inputs.arch }}" == "x86_64" ]]; then
|
||||||
|
echo "TOOLCHAIN_URL=${TOOLCHAIN_64_URL}" >> "$GITHUB_ENV"
|
||||||
|
echo "TOOLCHAIN_SHA=${TOOLCHAIN_64_SHA}" >> "$GITHUB_ENV"
|
||||||
|
elif [[ "${{ inputs.arch }}" == "x86_32" ]]; then
|
||||||
|
echo "TOOLCHAIN_URL=${TOOLCHAIN_32_URL}" >> "$GITHUB_ENV"
|
||||||
|
echo "TOOLCHAIN_SHA=${TOOLCHAIN_32_SHA}" >> "$GITHUB_ENV"
|
||||||
|
fi
|
||||||
|
|
||||||
|
- name: Cache buildroot
|
||||||
|
id: cache-buildroot
|
||||||
|
uses: actions/cache@v4
|
||||||
|
with:
|
||||||
|
path: buildroot
|
||||||
|
key: ${{env.TOOLCHAIN_SHA}}
|
||||||
|
|
||||||
|
- name: Set up buildroot
|
||||||
|
if: steps.cache-buildroot.outputs.cache-hit != 'true'
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
mkdir buildroot
|
||||||
|
wget ${TOOLCHAIN_URL} -O buildroot/buildroot.tar.bz2
|
||||||
|
cd buildroot
|
||||||
|
echo "${TOOLCHAIN_SHA} buildroot.tar.bz2"
|
||||||
|
echo "${TOOLCHAIN_SHA} buildroot.tar.bz2" | shasum --check
|
||||||
|
tar -xjf buildroot.tar.bz2 --strip-components=1
|
||||||
|
ls -l
|
||||||
|
rm buildroot.tar.bz2
|
||||||
|
./relocate-sdk.sh
|
||||||
|
cd ..
|
|
@ -36,6 +36,7 @@ env:
|
||||||
SCONSFLAGS: dev_build=no debug_symbols=no
|
SCONSFLAGS: dev_build=no debug_symbols=no
|
||||||
EM_VERSION: 3.1.45
|
EM_VERSION: 3.1.45
|
||||||
EM_CACHE_FOLDER: "emsdk-cache"
|
EM_CACHE_FOLDER: "emsdk-cache"
|
||||||
|
GODOT_VERSION: 4.2-stable
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
gdextension:
|
gdextension:
|
||||||
|
@ -132,25 +133,11 @@ jobs:
|
||||||
id: output-name-prefix
|
id: output-name-prefix
|
||||||
run: echo "name-prefix=${NAME_PREFIX}" >> $GITHUB_OUTPUT
|
run: echo "name-prefix=${NAME_PREFIX}" >> $GITHUB_OUTPUT
|
||||||
|
|
||||||
- name: Set up Linux buildroot x86_64
|
- name: Setup Linux toolchain
|
||||||
if: matrix.opts.platform == 'linux' && matrix.opts.arch == 'x86_64'
|
if: matrix.opts.platform == 'linux'
|
||||||
run: |
|
uses: ./limboai/.github/actions/setup-linux-toolchain
|
||||||
wget https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
with:
|
||||||
tar -xjf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
arch: ${{matrix.opts.arch}}
|
||||||
mv x86_64-godot-linux-gnu_sdk-buildroot buildroot
|
|
||||||
cd buildroot
|
|
||||||
./relocate-sdk.sh
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
- name: Set up Linux buildroot x86_32
|
|
||||||
if: matrix.opts.platform == 'linux' && matrix.opts.arch == 'x86_32'
|
|
||||||
run: |
|
|
||||||
wget https://downloads.tuxfamily.org/godotengine/toolchains/linux/2021-02-11/i686-godot-linux-gnu_sdk-buildroot.tar.bz2
|
|
||||||
tar -xjf i686-godot-linux-gnu_sdk-buildroot.tar.bz2
|
|
||||||
mv i686-godot-linux-gnu_sdk-buildroot buildroot
|
|
||||||
cd buildroot
|
|
||||||
./relocate-sdk.sh
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
- name: Set up Python 3.x
|
- name: Set up Python 3.x
|
||||||
if: matrix.opts.platform == 'windows' || matrix.opts.platform == 'macos'
|
if: matrix.opts.platform == 'windows' || matrix.opts.platform == 'macos'
|
||||||
|
@ -251,8 +238,8 @@ jobs:
|
||||||
name: ${{ env.NAME }}
|
name: ${{ env.NAME }}
|
||||||
path: out/*
|
path: out/*
|
||||||
|
|
||||||
merge-artifacts:
|
package-extension:
|
||||||
name: Merge artifacts
|
name: 📦 Package extension
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
needs: gdextension
|
needs: gdextension
|
||||||
|
|
||||||
|
@ -263,3 +250,47 @@ jobs:
|
||||||
name: ${{needs.gdextension.outputs.name-prefix}}
|
name: ${{needs.gdextension.outputs.name-prefix}}
|
||||||
pattern: tmp-gdextension.*
|
pattern: tmp-gdextension.*
|
||||||
delete-merged: true
|
delete-merged: true
|
||||||
|
|
||||||
|
- name: Download artifact
|
||||||
|
uses: actions/download-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{needs.gdextension.outputs.name-prefix}}
|
||||||
|
path: out/
|
||||||
|
|
||||||
|
- name: Setup Godot
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo "Downloading Godot ${GODOT_VERSION}"
|
||||||
|
mkdir bin
|
||||||
|
cd bin
|
||||||
|
wget "https://github.com/godotengine/godot/releases/download/${GODOT_VERSION}/Godot_v${GODOT_VERSION}_linux.x86_64.zip" -O godot.zip
|
||||||
|
unzip godot.zip
|
||||||
|
rm godot.zip
|
||||||
|
mv Godot_* godot
|
||||||
|
chmod u+x godot
|
||||||
|
ls -l
|
||||||
|
cd ..
|
||||||
|
./bin/godot --version
|
||||||
|
|
||||||
|
- name: Generate icon .import files
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
touch out/project.godot
|
||||||
|
timeout 20s ./bin/godot --headless --editor --path ./out/ || /bin/true
|
||||||
|
rm out/project.godot
|
||||||
|
rm -rf out/.godot/
|
||||||
|
|
||||||
|
- name: Change editor scale import settings
|
||||||
|
shell: bash
|
||||||
|
run: |
|
||||||
|
echo "--- Listing icons dir:"
|
||||||
|
ls out/addons/limboai/icons/
|
||||||
|
echo "--- (end of listing)"
|
||||||
|
sed -i 's|editor/scale_with_editor_scale=false|editor/scale_with_editor_scale=true|' out/addons/limboai/icons/*.import
|
||||||
|
|
||||||
|
- name: Upload artifact
|
||||||
|
uses: actions/upload-artifact@v4
|
||||||
|
with:
|
||||||
|
name: ${{needs.gdextension.outputs.name-prefix}}
|
||||||
|
path: out/*
|
||||||
|
overwrite: true
|
||||||
|
|
|
@ -139,27 +139,10 @@ jobs:
|
||||||
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
# Inits GODOT_VERSION, LIMBOAI_VERSION and NAME_PREFIX environment variables.
|
||||||
- uses: ./modules/limboai/.github/actions/init-version
|
- uses: ./modules/limboai/.github/actions/init-version
|
||||||
|
|
||||||
# About sed see: https://github.com/godotengine/buildroot/issues/6
|
- name: Set up Linux toolchain
|
||||||
- name: Set up buildroot x86_64
|
uses: ./modules/limboai/.github/actions/setup-linux-toolchain
|
||||||
if: matrix.opts.arch == 'x86_64'
|
with:
|
||||||
run: |
|
arch: ${{matrix.opts.arch}}
|
||||||
wget https://download.tuxfamily.org/godotengine/toolchains/linux/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
|
||||||
tar -xjf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
|
||||||
mv x86_64-godot-linux-gnu_sdk-buildroot buildroot
|
|
||||||
cd buildroot
|
|
||||||
sed -i x86_64-godot-linux-gnu/sysroot/usr/lib/pkgconfig/dbus-1.pc -e "s@/lib@/lib64@g"
|
|
||||||
./relocate-sdk.sh
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
- name: Set up buildroot x86_32
|
|
||||||
if: matrix.opts.arch == 'x86_32'
|
|
||||||
run: |
|
|
||||||
wget https://download.tuxfamily.org/godotengine/toolchains/linux/i686-godot-linux-gnu_sdk-buildroot.tar.bz2
|
|
||||||
tar -xjf i686-godot-linux-gnu_sdk-buildroot.tar.bz2
|
|
||||||
mv i686-godot-linux-gnu_sdk-buildroot buildroot
|
|
||||||
cd buildroot
|
|
||||||
./relocate-sdk.sh
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
- name: Set up scons cache
|
- name: Set up scons cache
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
|
|
|
@ -52,16 +52,10 @@ jobs:
|
||||||
with:
|
with:
|
||||||
path: modules/limboai
|
path: modules/limboai
|
||||||
|
|
||||||
# About sed see: https://github.com/godotengine/buildroot/issues/6
|
- name: Set up Linux toolchain
|
||||||
- name: Set up buildroot x86_64
|
uses: ./modules/limboai/.github/actions/setup-linux-toolchain
|
||||||
run: |
|
with:
|
||||||
wget https://download.tuxfamily.org/godotengine/toolchains/linux/x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
arch: x86_64
|
||||||
tar -xjf x86_64-godot-linux-gnu_sdk-buildroot.tar.bz2
|
|
||||||
mv x86_64-godot-linux-gnu_sdk-buildroot buildroot
|
|
||||||
cd buildroot
|
|
||||||
sed -i x86_64-godot-linux-gnu/sysroot/usr/lib/pkgconfig/dbus-1.pc -e "s@/lib@/lib64@g"
|
|
||||||
./relocate-sdk.sh
|
|
||||||
cd ..
|
|
||||||
|
|
||||||
- name: Set up scons cache
|
- name: Set up scons cache
|
||||||
uses: actions/cache@v4
|
uses: actions/cache@v4
|
||||||
|
|
|
@ -237,7 +237,7 @@ BBVariable BlackboardPlan::get_var(const StringName &p_name) {
|
||||||
Pair<StringName, BBVariable> BlackboardPlan::get_var_by_index(int p_index) {
|
Pair<StringName, BBVariable> BlackboardPlan::get_var_by_index(int p_index) {
|
||||||
Pair<StringName, BBVariable> ret;
|
Pair<StringName, BBVariable> ret;
|
||||||
ERR_FAIL_INDEX_V(p_index, (int)var_map.size(), ret);
|
ERR_FAIL_INDEX_V(p_index, (int)var_map.size(), ret);
|
||||||
return var_list[p_index];
|
return var_list.get(p_index);
|
||||||
}
|
}
|
||||||
|
|
||||||
PackedStringArray BlackboardPlan::list_vars() const {
|
PackedStringArray BlackboardPlan::list_vars() const {
|
||||||
|
|
|
@ -17,7 +17,7 @@
|
||||||
#include "../util/limbo_string_names.h"
|
#include "../util/limbo_string_names.h"
|
||||||
|
|
||||||
#ifdef LIMBOAI_MODULE
|
#ifdef LIMBOAI_MODULE
|
||||||
#include "editor/editor_scale.h"
|
#include "editor/themes/editor_scale.h"
|
||||||
#include "scene/gui/button.h"
|
#include "scene/gui/button.h"
|
||||||
#endif // LIMBOAI_MODULE
|
#endif // LIMBOAI_MODULE
|
||||||
|
|
||||||
|
|
|
@ -19,8 +19,9 @@
|
||||||
|
|
||||||
#ifdef LIMBOAI_MODULE
|
#ifdef LIMBOAI_MODULE
|
||||||
#include "editor/editor_interface.h"
|
#include "editor/editor_interface.h"
|
||||||
#include "editor/editor_scale.h"
|
#include "editor/themes/editor_scale.h"
|
||||||
#include "scene/gui/line_edit.h"
|
#include "scene/gui/line_edit.h"
|
||||||
|
#include "scene/gui/margin_container.h"
|
||||||
#include "scene/gui/panel_container.h"
|
#include "scene/gui/panel_container.h"
|
||||||
#include "scene/resources/style_box_flat.h"
|
#include "scene/resources/style_box_flat.h"
|
||||||
#endif // LIMBOAI_MODULE
|
#endif // LIMBOAI_MODULE
|
||||||
|
|
|
@ -26,7 +26,7 @@ Array BehaviorTreeData::serialize(const Ref<BTTask> &p_tree_instance, const Node
|
||||||
List<Ref<BTTask>> stack;
|
List<Ref<BTTask>> stack;
|
||||||
stack.push_back(p_tree_instance);
|
stack.push_back(p_tree_instance);
|
||||||
while (stack.size()) {
|
while (stack.size()) {
|
||||||
Ref<BTTask> task = stack[0];
|
Ref<BTTask> task = stack.front()->get();
|
||||||
stack.pop_front();
|
stack.pop_front();
|
||||||
|
|
||||||
int num_children = task->get_child_count();
|
int num_children = task->get_child_count();
|
||||||
|
@ -87,7 +87,7 @@ Ref<BehaviorTreeData> BehaviorTreeData::create_from_tree_instance(const Ref<BTTa
|
||||||
List<Ref<BTTask>> stack;
|
List<Ref<BTTask>> stack;
|
||||||
stack.push_back(p_tree_instance);
|
stack.push_back(p_tree_instance);
|
||||||
while (stack.size()) {
|
while (stack.size()) {
|
||||||
Ref<BTTask> task = stack[0];
|
Ref<BTTask> task = stack.front()->get();
|
||||||
stack.pop_front();
|
stack.pop_front();
|
||||||
|
|
||||||
int num_children = task->get_child_count();
|
int num_children = task->get_child_count();
|
||||||
|
|
|
@ -24,8 +24,8 @@
|
||||||
#include "core/object/callable_method_pointer.h"
|
#include "core/object/callable_method_pointer.h"
|
||||||
#include "core/os/time.h"
|
#include "core/os/time.h"
|
||||||
#include "core/typedefs.h"
|
#include "core/typedefs.h"
|
||||||
#include "editor/editor_scale.h"
|
|
||||||
#include "editor/editor_settings.h"
|
#include "editor/editor_settings.h"
|
||||||
|
#include "editor/themes/editor_scale.h"
|
||||||
#include "scene/resources/style_box.h"
|
#include "scene/resources/style_box.h"
|
||||||
#endif // LIMBOAI_MODULE
|
#endif // LIMBOAI_MODULE
|
||||||
|
|
||||||
|
@ -111,7 +111,7 @@ void BehaviorTreeView::_update_tree(const Ref<BehaviorTreeData> &p_data) {
|
||||||
selected_id = item_get_task_id(tree->get_selected());
|
selected_id = item_get_task_id(tree->get_selected());
|
||||||
}
|
}
|
||||||
|
|
||||||
if (last_root_id != 0 && p_data->tasks.size() > 0 && last_root_id == (uint64_t)p_data->tasks[0].id) {
|
if (last_root_id != 0 && p_data->tasks.size() > 0 && last_root_id == (uint64_t)p_data->tasks.front()->get().id) {
|
||||||
// * Update tree.
|
// * Update tree.
|
||||||
// ! Update routine is built on assumption that the behavior tree does NOT mutate. With little work it could detect mutations.
|
// ! Update routine is built on assumption that the behavior tree does NOT mutate. With little work it could detect mutations.
|
||||||
|
|
||||||
|
@ -120,29 +120,29 @@ void BehaviorTreeView::_update_tree(const Ref<BehaviorTreeData> &p_data) {
|
||||||
while (item) {
|
while (item) {
|
||||||
ERR_FAIL_COND(idx >= p_data->tasks.size());
|
ERR_FAIL_COND(idx >= p_data->tasks.size());
|
||||||
|
|
||||||
const BTTask::Status current_status = (BTTask::Status)p_data->tasks[idx].status;
|
const BTTask::Status current_status = (BTTask::Status)p_data->tasks.get(idx).status;
|
||||||
const BTTask::Status last_status = item_get_task_status(item);
|
const BTTask::Status last_status = item_get_task_status(item);
|
||||||
const bool status_changed = last_status != p_data->tasks[idx].status;
|
const bool status_changed = last_status != p_data->tasks.get(idx).status;
|
||||||
|
|
||||||
if (status_changed) {
|
if (status_changed) {
|
||||||
item->set_metadata(1, current_status);
|
item->set_metadata(1, current_status);
|
||||||
if (current_status == BTTask::SUCCESS) {
|
if (current_status == BTTask::SUCCESS) {
|
||||||
item->set_custom_draw(0, this, LW_NAME(_draw_success_status));
|
item->set_custom_draw_callback(0, callable_mp(this, &BehaviorTreeView::_draw_success_status));
|
||||||
item->set_icon(1, theme_cache.icon_success);
|
item->set_icon(1, theme_cache.icon_success);
|
||||||
} else if (current_status == BTTask::FAILURE) {
|
} else if (current_status == BTTask::FAILURE) {
|
||||||
item->set_custom_draw(0, this, LW_NAME(_draw_failure_status));
|
item->set_custom_draw_callback(0, callable_mp(this, &BehaviorTreeView::_draw_failure_status));
|
||||||
item->set_icon(1, theme_cache.icon_failure);
|
item->set_icon(1, theme_cache.icon_failure);
|
||||||
} else if (current_status == BTTask::RUNNING) {
|
} else if (current_status == BTTask::RUNNING) {
|
||||||
item->set_custom_draw(0, this, LW_NAME(_draw_running_status));
|
item->set_custom_draw_callback(0, callable_mp(this, &BehaviorTreeView::_draw_running_status));
|
||||||
item->set_icon(1, theme_cache.icon_running);
|
item->set_icon(1, theme_cache.icon_running);
|
||||||
} else {
|
} else {
|
||||||
item->set_custom_draw(0, this, LW_NAME(_draw_fresh));
|
item->set_custom_draw_callback(0, callable_mp(this, &BehaviorTreeView::_draw_fresh));
|
||||||
item->set_icon(1, nullptr);
|
item->set_icon(1, nullptr);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (status_changed || current_status == BTTask::RUNNING) {
|
if (status_changed || current_status == BTTask::RUNNING) {
|
||||||
_item_set_elapsed_time(item, p_data->tasks[idx].elapsed_time);
|
_item_set_elapsed_time(item, p_data->tasks.get(idx).elapsed_time);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (item->get_first_child()) {
|
if (item->get_first_child()) {
|
||||||
|
@ -165,7 +165,7 @@ void BehaviorTreeView::_update_tree(const Ref<BehaviorTreeData> &p_data) {
|
||||||
} else {
|
} else {
|
||||||
// * Create new tree.
|
// * Create new tree.
|
||||||
|
|
||||||
last_root_id = p_data->tasks.size() > 0 ? p_data->tasks[0].id : 0;
|
last_root_id = p_data->tasks.size() > 0 ? p_data->tasks.front()->get().id : 0;
|
||||||
|
|
||||||
tree->clear();
|
tree->clear();
|
||||||
TreeItem *parent = nullptr;
|
TreeItem *parent = nullptr;
|
||||||
|
@ -174,7 +174,7 @@ void BehaviorTreeView::_update_tree(const Ref<BehaviorTreeData> &p_data) {
|
||||||
// Figure out parent.
|
// Figure out parent.
|
||||||
parent = nullptr;
|
parent = nullptr;
|
||||||
if (parents.size()) {
|
if (parents.size()) {
|
||||||
Pair<TreeItem *, int> &p = parents[0];
|
Pair<TreeItem *, int> &p = parents.front()->get();
|
||||||
parent = p.first;
|
parent = p.first;
|
||||||
if (!(--p.second)) {
|
if (!(--p.second)) {
|
||||||
// No children left, remove it.
|
// No children left, remove it.
|
||||||
|
@ -204,13 +204,13 @@ void BehaviorTreeView::_update_tree(const Ref<BehaviorTreeData> &p_data) {
|
||||||
item->set_icon_max_width(0, 16 * _get_editor_scale()); // Force user icon size.
|
item->set_icon_max_width(0, 16 * _get_editor_scale()); // Force user icon size.
|
||||||
|
|
||||||
if (task_data.status == BTTask::SUCCESS) {
|
if (task_data.status == BTTask::SUCCESS) {
|
||||||
item->set_custom_draw(0, this, LW_NAME(_draw_success_status));
|
item->set_custom_draw_callback(0, callable_mp(this, &BehaviorTreeView::_draw_success_status));
|
||||||
item->set_icon(1, theme_cache.icon_success);
|
item->set_icon(1, theme_cache.icon_success);
|
||||||
} else if (task_data.status == BTTask::FAILURE) {
|
} else if (task_data.status == BTTask::FAILURE) {
|
||||||
item->set_custom_draw(0, this, LW_NAME(_draw_failure_status));
|
item->set_custom_draw_callback(0, callable_mp(this, &BehaviorTreeView::_draw_failure_status));
|
||||||
item->set_icon(1, theme_cache.icon_failure);
|
item->set_icon(1, theme_cache.icon_failure);
|
||||||
} else if (task_data.status == BTTask::RUNNING) {
|
} else if (task_data.status == BTTask::RUNNING) {
|
||||||
item->set_custom_draw(0, this, LW_NAME(_draw_running_status));
|
item->set_custom_draw_callback(0, callable_mp(this, &BehaviorTreeView::_draw_running_status));
|
||||||
item->set_icon(1, theme_cache.icon_running);
|
item->set_icon(1, theme_cache.icon_running);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -31,9 +31,9 @@
|
||||||
#include "core/variant/array.h"
|
#include "core/variant/array.h"
|
||||||
#include "editor/editor_interface.h"
|
#include "editor/editor_interface.h"
|
||||||
#include "editor/editor_paths.h"
|
#include "editor/editor_paths.h"
|
||||||
#include "editor/editor_scale.h"
|
|
||||||
#include "editor/filesystem_dock.h"
|
#include "editor/filesystem_dock.h"
|
||||||
#include "editor/plugins/editor_debugger_plugin.h"
|
#include "editor/plugins/editor_debugger_plugin.h"
|
||||||
|
#include "editor/themes/editor_scale.h"
|
||||||
#include "scene/gui/box_container.h"
|
#include "scene/gui/box_container.h"
|
||||||
#include "scene/gui/control.h"
|
#include "scene/gui/control.h"
|
||||||
#include "scene/gui/item_list.h"
|
#include "scene/gui/item_list.h"
|
||||||
|
|
|
@ -34,12 +34,13 @@
|
||||||
#include "editor/editor_file_system.h"
|
#include "editor/editor_file_system.h"
|
||||||
#include "editor/editor_help.h"
|
#include "editor/editor_help.h"
|
||||||
#include "editor/editor_paths.h"
|
#include "editor/editor_paths.h"
|
||||||
#include "editor/editor_scale.h"
|
|
||||||
#include "editor/editor_settings.h"
|
#include "editor/editor_settings.h"
|
||||||
#include "editor/editor_undo_redo_manager.h"
|
#include "editor/editor_undo_redo_manager.h"
|
||||||
|
#include "editor/gui/editor_bottom_panel.h"
|
||||||
#include "editor/inspector_dock.h"
|
#include "editor/inspector_dock.h"
|
||||||
#include "editor/plugins/script_editor_plugin.h"
|
#include "editor/plugins/script_editor_plugin.h"
|
||||||
#include "editor/project_settings_editor.h"
|
#include "editor/project_settings_editor.h"
|
||||||
|
#include "editor/themes/editor_scale.h"
|
||||||
#include "scene/gui/panel_container.h"
|
#include "scene/gui/panel_container.h"
|
||||||
#include "scene/gui/separator.h"
|
#include "scene/gui/separator.h"
|
||||||
#endif // LIMBOAI_MODULE
|
#endif // LIMBOAI_MODULE
|
||||||
|
@ -682,7 +683,7 @@ void LimboAIEditor::_misc_option_selected(int p_id) {
|
||||||
LimboDebuggerPlugin::get_singleton()->get_first_session_window()->set_window_enabled(true);
|
LimboDebuggerPlugin::get_singleton()->get_first_session_window()->set_window_enabled(true);
|
||||||
} else {
|
} else {
|
||||||
#ifdef LIMBOAI_MODULE
|
#ifdef LIMBOAI_MODULE
|
||||||
EditorNode::get_singleton()->make_bottom_panel_item_visible(EditorDebuggerNode::get_singleton());
|
EditorNode::get_bottom_panel()->make_item_visible(EditorDebuggerNode::get_singleton());
|
||||||
EditorDebuggerNode::get_singleton()->get_default_debugger()->switch_to_debugger(
|
EditorDebuggerNode::get_singleton()->get_default_debugger()->switch_to_debugger(
|
||||||
LimboDebuggerPlugin::get_singleton()->get_first_session_tab_index());
|
LimboDebuggerPlugin::get_singleton()->get_first_session_tab_index());
|
||||||
#elif LIMBOAI_GDEXTENSION
|
#elif LIMBOAI_GDEXTENSION
|
||||||
|
|
|
@ -25,7 +25,7 @@
|
||||||
#include "core/object/object.h"
|
#include "core/object/object.h"
|
||||||
#include "core/templates/hash_set.h"
|
#include "core/templates/hash_set.h"
|
||||||
#include "editor/editor_node.h"
|
#include "editor/editor_node.h"
|
||||||
#include "editor/editor_plugin.h"
|
#include "editor/plugins/editor_plugin.h"
|
||||||
#include "editor/gui/editor_spin_slider.h"
|
#include "editor/gui/editor_spin_slider.h"
|
||||||
#include "scene/gui/box_container.h"
|
#include "scene/gui/box_container.h"
|
||||||
#include "scene/gui/control.h"
|
#include "scene/gui/control.h"
|
||||||
|
|
|
@ -24,7 +24,7 @@
|
||||||
#include "editor/editor_help.h"
|
#include "editor/editor_help.h"
|
||||||
#include "editor/editor_node.h"
|
#include "editor/editor_node.h"
|
||||||
#include "editor/editor_paths.h"
|
#include "editor/editor_paths.h"
|
||||||
#include "editor/editor_scale.h"
|
#include "editor/themes/editor_scale.h"
|
||||||
#include "editor/plugins/script_editor_plugin.h"
|
#include "editor/plugins/script_editor_plugin.h"
|
||||||
#include "scene/gui/check_box.h"
|
#include "scene/gui/check_box.h"
|
||||||
#endif // LIMBO_MODULE
|
#endif // LIMBO_MODULE
|
||||||
|
@ -60,7 +60,7 @@ void TaskButton::_bind_methods() {
|
||||||
Control *TaskButton::_do_make_tooltip(const String &p_text) const {
|
Control *TaskButton::_do_make_tooltip(const String &p_text) const {
|
||||||
#ifdef LIMBOAI_MODULE
|
#ifdef LIMBOAI_MODULE
|
||||||
EditorHelpBit *help_bit = memnew(EditorHelpBit);
|
EditorHelpBit *help_bit = memnew(EditorHelpBit);
|
||||||
help_bit->get_rich_text()->set_custom_minimum_size(Size2(360 * EDSCALE, 1));
|
help_bit->set_content_height_limits(1, 360 * EDSCALE);
|
||||||
|
|
||||||
String help_text;
|
String help_text;
|
||||||
if (!p_text.is_empty()) {
|
if (!p_text.is_empty()) {
|
||||||
|
@ -69,7 +69,7 @@ Control *TaskButton::_do_make_tooltip(const String &p_text) const {
|
||||||
help_text = "[i]" + TTR("No description.") + "[/i]";
|
help_text = "[i]" + TTR("No description.") + "[/i]";
|
||||||
}
|
}
|
||||||
|
|
||||||
help_bit->set_text(help_text);
|
help_bit->set_custom_text(String(), String(), help_text);
|
||||||
|
|
||||||
return help_bit;
|
return help_bit;
|
||||||
#endif // LIMBOAI_MODULE
|
#endif // LIMBOAI_MODULE
|
||||||
|
|
|
@ -20,7 +20,7 @@
|
||||||
|
|
||||||
#ifdef LIMBOAI_MODULE
|
#ifdef LIMBOAI_MODULE
|
||||||
#include "core/object/script_language.h"
|
#include "core/object/script_language.h"
|
||||||
#include "editor/editor_scale.h"
|
#include "editor/themes/editor_scale.h"
|
||||||
#endif // LIMBOAI_MODULE
|
#endif // LIMBOAI_MODULE
|
||||||
|
|
||||||
#ifdef LIMBOAI_GDEXTENSION
|
#ifdef LIMBOAI_GDEXTENSION
|
||||||
|
@ -50,7 +50,7 @@ void TaskTree::_update_item(TreeItem *p_item) {
|
||||||
if (p_item->get_parent()) {
|
if (p_item->get_parent()) {
|
||||||
Ref<BTProbabilitySelector> sel = p_item->get_parent()->get_metadata(0);
|
Ref<BTProbabilitySelector> sel = p_item->get_parent()->get_metadata(0);
|
||||||
if (sel.is_valid() && sel->has_probability(p_item->get_index())) {
|
if (sel.is_valid() && sel->has_probability(p_item->get_index())) {
|
||||||
p_item->set_custom_draw(0, this, LW_NAME(_draw_probability));
|
p_item->set_custom_draw_callback(0, callable_mp(this, &TaskTree::_draw_probability));
|
||||||
p_item->set_cell_mode(0, TreeItem::CELL_MODE_CUSTOM);
|
p_item->set_cell_mode(0, TreeItem::CELL_MODE_CUSTOM);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,11 +27,6 @@
|
||||||
LimboStringNames *LimboStringNames::singleton = nullptr;
|
LimboStringNames *LimboStringNames::singleton = nullptr;
|
||||||
|
|
||||||
LimboStringNames::LimboStringNames() {
|
LimboStringNames::LimboStringNames() {
|
||||||
_draw_failure_status = SN("_draw_failure_status");
|
|
||||||
_draw_fresh = SN("_draw_fresh");
|
|
||||||
_draw_probability = SN("_draw_probability");
|
|
||||||
_draw_running_status = SN("_draw_running_status");
|
|
||||||
_draw_success_status = SN("_draw_success_status");
|
|
||||||
_enter = SN("_enter");
|
_enter = SN("_enter");
|
||||||
_exit = SN("_exit");
|
_exit = SN("_exit");
|
||||||
_generate_name = SN("_generate_name");
|
_generate_name = SN("_generate_name");
|
||||||
|
|
|
@ -43,11 +43,6 @@ class LimboStringNames {
|
||||||
public:
|
public:
|
||||||
_FORCE_INLINE_ static LimboStringNames *get_singleton() { return singleton; }
|
_FORCE_INLINE_ static LimboStringNames *get_singleton() { return singleton; }
|
||||||
|
|
||||||
StringName _draw_failure_status;
|
|
||||||
StringName _draw_fresh;
|
|
||||||
StringName _draw_probability;
|
|
||||||
StringName _draw_running_status;
|
|
||||||
StringName _draw_success_status;
|
|
||||||
StringName _enter;
|
StringName _enter;
|
||||||
StringName _exit;
|
StringName _exit;
|
||||||
StringName _generate_name;
|
StringName _generate_name;
|
||||||
|
|
|
@ -515,6 +515,7 @@ PackedInt32Array LimboUtility::get_property_hints_allowed_for_type(Variant::Type
|
||||||
case Variant::Type::PACKED_STRING_ARRAY:
|
case Variant::Type::PACKED_STRING_ARRAY:
|
||||||
case Variant::Type::PACKED_VECTOR2_ARRAY:
|
case Variant::Type::PACKED_VECTOR2_ARRAY:
|
||||||
case Variant::Type::PACKED_VECTOR3_ARRAY:
|
case Variant::Type::PACKED_VECTOR3_ARRAY:
|
||||||
|
case Variant::Type::PACKED_VECTOR4_ARRAY:
|
||||||
case Variant::Type::PACKED_COLOR_ARRAY:
|
case Variant::Type::PACKED_COLOR_ARRAY:
|
||||||
case Variant::Type::VARIANT_MAX: {
|
case Variant::Type::VARIANT_MAX: {
|
||||||
} break;
|
} break;
|
||||||
|
|
Loading…
Reference in New Issue