|
@@ -42,20 +42,6 @@ RID World2D::get_canvas() const {
|
|
|
return canvas;
|
|
|
}
|
|
|
|
|
|
-#ifndef PHYSICS_2D_DISABLED
|
|
|
-RID World2D::get_space() const {
|
|
|
- if (space.is_null()) {
|
|
|
- space = PhysicsServer2D::get_singleton()->space_create();
|
|
|
- PhysicsServer2D::get_singleton()->space_set_active(space, true);
|
|
|
- PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_GRAVITY, GLOBAL_GET("physics/2d/default_gravity"));
|
|
|
- PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_GRAVITY_VECTOR, GLOBAL_GET("physics/2d/default_gravity_vector"));
|
|
|
- PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_LINEAR_DAMP, GLOBAL_GET("physics/2d/default_linear_damp"));
|
|
|
- PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_ANGULAR_DAMP, GLOBAL_GET("physics/2d/default_angular_damp"));
|
|
|
- }
|
|
|
- return space;
|
|
|
-}
|
|
|
-#endif // PHYSICS_2D_DISABLED
|
|
|
-
|
|
|
#ifndef NAVIGATION_2D_DISABLED
|
|
|
RID World2D::get_navigation_map() const {
|
|
|
if (navigation_map.is_null()) {
|
|
@@ -71,6 +57,18 @@ RID World2D::get_navigation_map() const {
|
|
|
#endif // NAVIGATION_2D_DISABLED
|
|
|
|
|
|
#ifndef PHYSICS_2D_DISABLED
|
|
|
+RID World2D::get_space() const {
|
|
|
+ if (space.is_null()) {
|
|
|
+ space = PhysicsServer2D::get_singleton()->space_create();
|
|
|
+ PhysicsServer2D::get_singleton()->space_set_active(space, true);
|
|
|
+ PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_GRAVITY, GLOBAL_GET("physics/2d/default_gravity"));
|
|
|
+ PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_GRAVITY_VECTOR, GLOBAL_GET("physics/2d/default_gravity_vector"));
|
|
|
+ PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_LINEAR_DAMP, GLOBAL_GET("physics/2d/default_linear_damp"));
|
|
|
+ PhysicsServer2D::get_singleton()->area_set_param(space, PhysicsServer2D::AREA_PARAM_ANGULAR_DAMP, GLOBAL_GET("physics/2d/default_angular_damp"));
|
|
|
+ }
|
|
|
+ return space;
|
|
|
+}
|
|
|
+
|
|
|
PhysicsDirectSpaceState2D *World2D::get_direct_space_state() {
|
|
|
return PhysicsServer2D::get_singleton()->space_get_direct_state(get_space());
|
|
|
}
|
|
@@ -78,19 +76,16 @@ PhysicsDirectSpaceState2D *World2D::get_direct_space_state() {
|
|
|
|
|
|
void World2D::_bind_methods() {
|
|
|
ClassDB::bind_method(D_METHOD("get_canvas"), &World2D::get_canvas);
|
|
|
+ ADD_PROPERTY(PropertyInfo(Variant::RID, "canvas", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "", "get_canvas");
|
|
|
+
|
|
|
#ifndef NAVIGATION_2D_DISABLED
|
|
|
ClassDB::bind_method(D_METHOD("get_navigation_map"), &World2D::get_navigation_map);
|
|
|
+ ADD_PROPERTY(PropertyInfo(Variant::RID, "navigation_map", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "", "get_navigation_map");
|
|
|
#endif // NAVIGATION_2D_DISABLED
|
|
|
+
|
|
|
#ifndef PHYSICS_2D_DISABLED
|
|
|
ClassDB::bind_method(D_METHOD("get_space"), &World2D::get_space);
|
|
|
ClassDB::bind_method(D_METHOD("get_direct_space_state"), &World2D::get_direct_space_state);
|
|
|
-#endif // PHYSICS_2D_DISABLED
|
|
|
-
|
|
|
- ADD_PROPERTY(PropertyInfo(Variant::RID, "canvas", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "", "get_canvas");
|
|
|
-#ifndef NAVIGATION_2D_DISABLED
|
|
|
- ADD_PROPERTY(PropertyInfo(Variant::RID, "navigation_map", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "", "get_navigation_map");
|
|
|
-#endif // NAVIGATION_2D_DISABLED
|
|
|
-#ifndef PHYSICS_2D_DISABLED
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::RID, "space", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NONE), "", "get_space");
|
|
|
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "direct_space_state", PROPERTY_HINT_RESOURCE_TYPE, "PhysicsDirectSpaceState2D", PROPERTY_USAGE_NONE), "", "get_direct_space_state");
|
|
|
#endif // PHYSICS_2D_DISABLED
|
|
@@ -110,22 +105,19 @@ World2D::World2D() {
|
|
|
|
|
|
World2D::~World2D() {
|
|
|
ERR_FAIL_NULL(RenderingServer::get_singleton());
|
|
|
-#ifndef PHYSICS_2D_DISABLED
|
|
|
- ERR_FAIL_NULL(PhysicsServer2D::get_singleton());
|
|
|
-#endif // PHYSICS_2D_DISABLED
|
|
|
+ RenderingServer::get_singleton()->free(canvas);
|
|
|
+
|
|
|
#ifndef NAVIGATION_2D_DISABLED
|
|
|
ERR_FAIL_NULL(NavigationServer2D::get_singleton());
|
|
|
+ if (navigation_map.is_valid()) {
|
|
|
+ NavigationServer2D::get_singleton()->free(navigation_map);
|
|
|
+ }
|
|
|
#endif // NAVIGATION_2D_DISABLED
|
|
|
|
|
|
- RenderingServer::get_singleton()->free(canvas);
|
|
|
#ifndef PHYSICS_2D_DISABLED
|
|
|
+ ERR_FAIL_NULL(PhysicsServer2D::get_singleton());
|
|
|
if (space.is_valid()) {
|
|
|
PhysicsServer2D::get_singleton()->free(space);
|
|
|
}
|
|
|
#endif // PHYSICS_2D_DISABLED
|
|
|
-#ifndef NAVIGATION_2D_DISABLED
|
|
|
- if (navigation_map.is_valid()) {
|
|
|
- NavigationServer2D::get_singleton()->free(navigation_map);
|
|
|
- }
|
|
|
-#endif // NAVIGATION_2D_DISABLED
|
|
|
}
|