Move NavigationMeshEditorPlugin to Recast module as should be

Modules can register their own editor plugins (like GridMap does),
so no need to put module-specific classes in the `editor/` folder.

Also cleans up the previous SCons env pollution from the Recast
module, integrating its code into libmodules as other modules.
This commit is contained in:
Rémi Verschelde 2018-05-30 15:59:42 +02:00
parent 65fc525ed8
commit 59c2c21b15
7 changed files with 14 additions and 30 deletions

View File

@ -88,7 +88,6 @@
#include "editor/plugins/mesh_editor_plugin.h"
#include "editor/plugins/mesh_instance_editor_plugin.h"
#include "editor/plugins/multimesh_editor_plugin.h"
#include "editor/plugins/navigation_mesh_editor_plugin.h"
#include "editor/plugins/navigation_polygon_editor_plugin.h"
#include "editor/plugins/particles_2d_editor_plugin.h"
#include "editor/plugins/particles_editor_plugin.h"
@ -5365,7 +5364,6 @@ EditorNode::EditorNode() {
add_editor_plugin(memnew(TextureEditorPlugin(this)));
add_editor_plugin(memnew(AudioBusesEditorPlugin(audio_bus_editor)));
add_editor_plugin(memnew(AudioBusesEditorPlugin(audio_bus_editor)));
add_editor_plugin(memnew(NavigationMeshEditorPlugin(this)));
add_editor_plugin(memnew(SkeletonEditorPlugin(this)));
add_editor_plugin(memnew(PhysicalBonePlugin(this)));

View File

@ -1,8 +1,9 @@
#!/usr/bin/env python
Import('env')
Import('env_modules')
# Not building in a separate env as core needs it
env_recast = env_modules.Clone()
# Thirdparty source files
if env['builtin_recast']:
@ -22,13 +23,10 @@ if env['builtin_recast']:
]
thirdparty_sources = [thirdparty_dir + file for file in thirdparty_sources]
env.Append(CPPPATH=[thirdparty_dir, thirdparty_dir + "/Include"])
lib = env.add_library("recast_builtin", thirdparty_sources)
env.Append(LIBS=[lib])
env_recast.add_source_files(env.modules_sources, thirdparty_sources)
env_recast.Append(CPPPATH=[thirdparty_dir + "/Include"])
# Godot source files
env.add_source_files(env.modules_sources, "*.cpp")
env.Append(CCFLAGS=['-DRECAST_ENABLED'])
env_recast.add_source_files(env.modules_sources, "*.cpp")
Export('env')

View File

@ -29,13 +29,12 @@
/*************************************************************************/
#include "navigation_mesh_editor_plugin.h"
#include "io/marshalls.h"
#include "io/resource_saver.h"
#include "scene/3d/mesh_instance.h"
#include "scene/gui/box_container.h"
#ifdef RECAST_ENABLED
void NavigationMeshEditor::_node_removed(Node *p_node) {
if (p_node == node) {
@ -162,5 +161,3 @@ NavigationMeshEditorPlugin::NavigationMeshEditorPlugin(EditorNode *p_node) {
NavigationMeshEditorPlugin::~NavigationMeshEditorPlugin() {
}
#endif // RECAST_ENABLED

View File

@ -31,8 +31,6 @@
#ifndef NAVIGATION_MESH_GENERATOR_PLUGIN_H
#define NAVIGATION_MESH_GENERATOR_PLUGIN_H
#ifdef RECAST_ENABLED
#include "editor/editor_node.h"
#include "editor/editor_plugin.h"
#include "navigation_mesh_generator.h"
@ -83,5 +81,4 @@ public:
~NavigationMeshEditorPlugin();
};
#endif // RECAST_ENABLED
#endif // NAVIGATION_MESH_GENERATOR_PLUGIN_H

View File

@ -30,8 +30,6 @@
#include "navigation_mesh_generator.h"
#ifdef RECAST_ENABLED
void NavigationMeshGenerator::_add_vertex(const Vector3 &p_vec3, Vector<float> &p_verticies) {
p_verticies.push_back(p_vec3.x);
p_verticies.push_back(p_vec3.y);
@ -304,5 +302,3 @@ void NavigationMeshGenerator::clear(Ref<NavigationMesh> p_nav_mesh) {
p_nav_mesh->set_vertices(PoolVector<Vector3>());
}
}
#endif //RECAST_ENABLED

View File

@ -31,16 +31,11 @@
#ifndef NAVIGATION_MESH_GENERATOR_H
#define NAVIGATION_MESH_GENERATOR_H
#ifdef RECAST_ENABLED
#include "editor/editor_node.h"
#include "editor/editor_settings.h"
#include "scene/3d/mesh_instance.h"
#include "scene/3d/navigation_mesh.h"
#include "os/thread.h"
#include "scene/3d/mesh_instance.h"
#include "scene/3d/navigation_mesh.h"
#include "scene/resources/shape.h"
#include <Recast.h>
@ -61,6 +56,4 @@ public:
static void clear(Ref<NavigationMesh> p_nav_mesh);
};
#endif // RECAST_ENABLED
#endif // NAVIGATION_MESH_GENERATOR_H

View File

@ -30,5 +30,10 @@
#include "register_types.h"
void register_recast_types() {}
#include "navigation_mesh_editor_plugin.h"
void register_recast_types() {
EditorPlugins::add_by_type<NavigationMeshEditorPlugin>();
}
void unregister_recast_types() {}