| 1018 | } |
| 1019 | |
| 1020 | TileMap::TileMap() { |
| 1021 | TileMapLayer *new_layer = memnew(TileMapLayer); |
| 1022 | add_child(new_layer, false, INTERNAL_MODE_FRONT); |
| 1023 | new_layer->set_as_tile_map_internal_node(0); |
| 1024 | new_layer->set_name("Layer0"); |
| 1025 | new_layer->set_tile_set(tile_set); |
| 1026 | new_layer->connect(CoreStringName(changed), callable_mp(this, &TileMap::_emit_changed)); |
| 1027 | layers.push_back(new_layer); |
| 1028 | |
| 1029 | if (!base_property_helper.is_initialized()) { |
| 1030 | // Initialize static PropertyListHelper if it wasn't yet. This has to be done here, |
| 1031 | // because creating TileMapLayer in a static context is not always safe. |
| 1032 | TileMapLayer *defaults = memnew(TileMapLayer); |
| 1033 | |
| 1034 | base_property_helper.set_prefix("layer_"); |
| 1035 | base_property_helper.set_array_length_getter(&TileMap::get_layers_count); |
| 1036 | base_property_helper.register_property(PropertyInfo(Variant::STRING, "name"), defaults->get_name(), &TileMap::set_layer_name, &TileMap::get_layer_name); |
| 1037 | base_property_helper.register_property(PropertyInfo(Variant::BOOL, "enabled"), defaults->is_enabled(), &TileMap::set_layer_enabled, &TileMap::is_layer_enabled); |
| 1038 | base_property_helper.register_property(PropertyInfo(Variant::COLOR, "modulate"), defaults->get_modulate(), &TileMap::set_layer_modulate, &TileMap::get_layer_modulate); |
| 1039 | base_property_helper.register_property(PropertyInfo(Variant::BOOL, "y_sort_enabled"), defaults->is_y_sort_enabled(), &TileMap::set_layer_y_sort_enabled, &TileMap::is_layer_y_sort_enabled); |
| 1040 | base_property_helper.register_property(PropertyInfo(Variant::INT, "y_sort_origin", PROPERTY_HINT_NONE, "suffix:px"), defaults->get_y_sort_origin(), &TileMap::set_layer_y_sort_origin, &TileMap::get_layer_y_sort_origin); |
| 1041 | base_property_helper.register_property(PropertyInfo(Variant::INT, "z_index"), defaults->get_z_index(), &TileMap::set_layer_z_index, &TileMap::get_layer_z_index); |
| 1042 | #ifndef NAVIGATION_2D_DISABLED |
| 1043 | base_property_helper.register_property(PropertyInfo(Variant::BOOL, "navigation_enabled"), defaults->is_navigation_enabled(), &TileMap::set_layer_navigation_enabled, &TileMap::is_layer_navigation_enabled); |
| 1044 | #endif // NAVIGATION_2D_DISABLED |
| 1045 | base_property_helper.register_property(PropertyInfo(Variant::PACKED_INT32_ARRAY, "tile_data", PROPERTY_HINT_NONE, "", PROPERTY_USAGE_NO_EDITOR), Vector<int>(), &TileMap::_set_layer_tile_data, &TileMap::_get_tile_map_data_using_compatibility_format); |
| 1046 | PropertyListHelper::register_base_helper(&base_property_helper); |
| 1047 | |
| 1048 | memdelete(defaults); |
| 1049 | } |
| 1050 | |
| 1051 | property_helper.setup_for_instance(base_property_helper, this); |
| 1052 | } |
| 1053 | |
| 1054 | #ifndef NAVIGATION_2D_DISABLED |
| 1055 | void TileMap::navmesh_parse_init() { |
nothing calls this directly
no test coverage detected