You've already forked godot
mirror of
https://github.com/godotengine/godot.git
synced 2025-11-04 12:00:25 +00:00
Bind many more properties to scripts
Notable potentially breaking changes: - PROPERTY_USAGE_NOEDITOR is now PROPERTY_USAGE_STORAGE | PROPERTY_USAGE_NETWORK, without PROPERTY_USAGE_INTERNAL - Some properties were renamed, and sometimes even shadowed by new ones - New getter methods (some virtual) were added
This commit is contained in:
@@ -43,28 +43,7 @@ bool GridMap::_set(const StringName &p_name, const Variant &p_value) {
|
||||
|
||||
String name = p_name;
|
||||
|
||||
if (name == "theme") {
|
||||
|
||||
set_theme(p_value);
|
||||
} else if (name == "cell_size") {
|
||||
if (p_value.get_type() == Variant::INT || p_value.get_type() == Variant::REAL) {
|
||||
//compatibility
|
||||
float cs = p_value;
|
||||
set_cell_size(Vector3(cs, cs, cs));
|
||||
} else {
|
||||
set_cell_size(p_value);
|
||||
}
|
||||
} else if (name == "cell_octant_size") {
|
||||
set_octant_size(p_value);
|
||||
} else if (name == "cell_center_x") {
|
||||
set_center_x(p_value);
|
||||
} else if (name == "cell_center_y") {
|
||||
set_center_y(p_value);
|
||||
} else if (name == "cell_center_z") {
|
||||
set_center_z(p_value);
|
||||
} else if (name == "cell_scale") {
|
||||
set_cell_scale(p_value);
|
||||
/* } else if (name=="cells") {
|
||||
/* } else if (name=="cells") {
|
||||
PoolVector<int> cells = p_value;
|
||||
int amount=cells.size();
|
||||
PoolVector<int>::Read r = cells.read();
|
||||
@@ -81,7 +60,7 @@ bool GridMap::_set(const StringName &p_name, const Variant &p_value) {
|
||||
|
||||
}
|
||||
_recreate_octant_data();*/
|
||||
} else if (name == "data") {
|
||||
if (name == "data") {
|
||||
|
||||
Dictionary d = p_value;
|
||||
|
||||
@@ -134,21 +113,7 @@ bool GridMap::_get(const StringName &p_name, Variant &r_ret) const {
|
||||
|
||||
String name = p_name;
|
||||
|
||||
if (name == "theme") {
|
||||
r_ret = get_theme();
|
||||
} else if (name == "cell_size") {
|
||||
r_ret = get_cell_size();
|
||||
} else if (name == "cell_octant_size") {
|
||||
r_ret = get_octant_size();
|
||||
} else if (name == "cell_center_x") {
|
||||
r_ret = get_center_x();
|
||||
} else if (name == "cell_center_y") {
|
||||
r_ret = get_center_y();
|
||||
} else if (name == "cell_center_z") {
|
||||
r_ret = get_center_z();
|
||||
} else if (name == "cell_scale") {
|
||||
r_ret = cell_scale;
|
||||
} else if (name == "data") {
|
||||
if (name == "data") {
|
||||
|
||||
Dictionary d;
|
||||
|
||||
@@ -184,14 +149,6 @@ bool GridMap::_get(const StringName &p_name, Variant &r_ret) const {
|
||||
|
||||
void GridMap::_get_property_list(List<PropertyInfo> *p_list) const {
|
||||
|
||||
p_list->push_back(PropertyInfo(Variant::OBJECT, "theme", PROPERTY_HINT_RESOURCE_TYPE, "MeshLibrary"));
|
||||
p_list->push_back(PropertyInfo(Variant::NIL, "Cell", PROPERTY_HINT_NONE, "cell_", PROPERTY_USAGE_GROUP));
|
||||
p_list->push_back(PropertyInfo(Variant::VECTOR3, "cell_size"));
|
||||
p_list->push_back(PropertyInfo(Variant::INT, "cell_octant_size", PROPERTY_HINT_RANGE, "1,1024,1"));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, "cell_center_x"));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, "cell_center_y"));
|
||||
p_list->push_back(PropertyInfo(Variant::BOOL, "cell_center_z"));
|
||||
p_list->push_back(PropertyInfo(Variant::REAL, "cell_scale"));
|
||||
if (baked_meshes.size()) {
|
||||
p_list->push_back(PropertyInfo(Variant::ARRAY, "baked_meshes", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_STORAGE));
|
||||
}
|
||||
@@ -895,6 +852,9 @@ void GridMap::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("set_cell_size", "size"), &GridMap::set_cell_size);
|
||||
ClassDB::bind_method(D_METHOD("get_cell_size"), &GridMap::get_cell_size);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_cell_scale", "scale"), &GridMap::set_cell_scale);
|
||||
ClassDB::bind_method(D_METHOD("get_cell_scale"), &GridMap::get_cell_scale);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_octant_size", "size"), &GridMap::set_octant_size);
|
||||
ClassDB::bind_method(D_METHOD("get_octant_size"), &GridMap::get_octant_size);
|
||||
|
||||
@@ -929,6 +889,14 @@ void GridMap::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("clear_baked_meshes"), &GridMap::clear_baked_meshes);
|
||||
ClassDB::bind_method(D_METHOD("make_baked_meshes", "gen_lightmap_uv", "lightmap_uv_texel_size"), &GridMap::make_baked_meshes, DEFVAL(false), DEFVAL(0.1));
|
||||
|
||||
ADD_PROPERTY(PropertyInfo(Variant::OBJECT, "theme", PROPERTY_HINT_RESOURCE_TYPE, "MeshLibrary"), "set_theme", "get_theme");
|
||||
ADD_GROUP("Cell", "cell_");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::VECTOR3, "cell_size"), "set_cell_size", "get_cell_size");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "cell_octant_size", PROPERTY_HINT_RANGE, "1,1024,1"), "set_octant_size", "get_octant_size");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "cell_center_x"), "set_center_x", "get_center_x");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "cell_center_y"), "set_center_y", "get_center_y");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "cell_center_z"), "set_center_z", "get_center_z");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::REAL, "cell_scale"), "set_cell_scale", "get_cell_scale");
|
||||
ADD_GROUP("Collision", "collision_");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_layer", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_layer", "get_collision_layer");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "collision_mask", PROPERTY_HINT_LAYERS_3D_PHYSICS), "set_collision_mask", "get_collision_mask");
|
||||
|
||||
Reference in New Issue
Block a user