Merge pull request #55243 from KoBeWi/some_random_stuff_idk
This commit is contained in:
commit
c7007f83d5
|
@ -5,7 +5,7 @@
|
||||||
</brief_description>
|
</brief_description>
|
||||||
<description>
|
<description>
|
||||||
A simplified interface to a scene file. Provides access to operations and checks that can be performed on the scene resource itself.
|
A simplified interface to a scene file. Provides access to operations and checks that can be performed on the scene resource itself.
|
||||||
Can be used to save a node to a file. When saving, the node as well as all the nodes it owns get saved (see [code]owner[/code] property on [Node]).
|
Can be used to save a node to a file. When saving, the node as well as all the nodes it owns get saved (see [member Node.owner] property).
|
||||||
[b]Note:[/b] The node doesn't need to own itself.
|
[b]Note:[/b] The node doesn't need to own itself.
|
||||||
[b]Example of loading a saved scene:[/b]
|
[b]Example of loading a saved scene:[/b]
|
||||||
[codeblocks]
|
[codeblocks]
|
||||||
|
@ -22,7 +22,7 @@
|
||||||
AddChild(scene);
|
AddChild(scene);
|
||||||
[/csharp]
|
[/csharp]
|
||||||
[/codeblocks]
|
[/codeblocks]
|
||||||
[b]Example of saving a node with different owners:[/b] The following example creates 3 objects: [code]Node2D[/code] ([code]node[/code]), [code]RigidDynamicBody2D[/code] ([code]body[/code]) and [code]CollisionObject2D[/code] ([code]collision[/code]). [code]collision[/code] is a child of [code]body[/code] which is a child of [code]node[/code]. Only [code]body[/code] is owned by [code]node[/code] and [code]pack[/code] will therefore only save those two nodes, but not [code]collision[/code].
|
[b]Example of saving a node with different owners:[/b] The following example creates 3 objects: [Node2D] ([code]node[/code]), [RigidDynamicBody2D] ([code]body[/code]) and [CollisionObject2D] ([code]collision[/code]). [code]collision[/code] is a child of [code]body[/code] which is a child of [code]node[/code]. Only [code]body[/code] is owned by [code]node[/code] and [code]pack[/code] will therefore only save those two nodes, but not [code]collision[/code].
|
||||||
[codeblocks]
|
[codeblocks]
|
||||||
[gdscript]
|
[gdscript]
|
||||||
# Create the objects.
|
# Create the objects.
|
||||||
|
|
|
@ -16,7 +16,7 @@
|
||||||
Sets the border width of the [ReferenceRect]. The border grows both inwards and outwards with respect to the rectangle box.
|
Sets the border width of the [ReferenceRect]. The border grows both inwards and outwards with respect to the rectangle box.
|
||||||
</member>
|
</member>
|
||||||
<member name="editor_only" type="bool" setter="set_editor_only" getter="get_editor_only" default="true">
|
<member name="editor_only" type="bool" setter="set_editor_only" getter="get_editor_only" default="true">
|
||||||
If set to [code]true[/code], the [ReferenceRect] will only be visible while in editor. Otherwise, [ReferenceRect] will be visible in game.
|
If [code]true[/code], the [ReferenceRect] will only be visible while in editor. Otherwise, [ReferenceRect] will be visible in the running project.
|
||||||
</member>
|
</member>
|
||||||
</members>
|
</members>
|
||||||
</class>
|
</class>
|
||||||
|
|
|
@ -117,7 +117,7 @@ bool EditorAutoloadSettings::_autoload_name_is_valid(const String &p_name, Strin
|
||||||
for (const String &E : keywords) {
|
for (const String &E : keywords) {
|
||||||
if (E == p_name) {
|
if (E == p_name) {
|
||||||
if (r_error) {
|
if (r_error) {
|
||||||
*r_error = TTR("Invalid name.") + " " + TTR("Keyword cannot be used as an autoload name.");
|
*r_error = TTR("Invalid name.") + " " + TTR("Keyword cannot be used as an AutoLoad name.");
|
||||||
}
|
}
|
||||||
|
|
||||||
return false;
|
return false;
|
||||||
|
@ -373,13 +373,13 @@ Node *EditorAutoloadSettings::_create_autoload(const String &p_path) {
|
||||||
|
|
||||||
Object *obj = ClassDB::instantiate(ibt);
|
Object *obj = ClassDB::instantiate(ibt);
|
||||||
|
|
||||||
ERR_FAIL_COND_V_MSG(obj == nullptr, nullptr, "Cannot instance script for autoload, expected 'Node' inheritance, got: " + String(ibt) + ".");
|
ERR_FAIL_COND_V_MSG(obj == nullptr, nullptr, "Cannot instance script for AutoLoad, expected 'Node' inheritance, got: " + String(ibt) + ".");
|
||||||
|
|
||||||
n = Object::cast_to<Node>(obj);
|
n = Object::cast_to<Node>(obj);
|
||||||
n->set_script(s);
|
n->set_script(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
ERR_FAIL_COND_V_MSG(!n, nullptr, "Path in autoload not a node or script: " + p_path + ".");
|
ERR_FAIL_COND_V_MSG(!n, nullptr, "Path in AutoLoad not a node or script: " + p_path + ".");
|
||||||
|
|
||||||
return n;
|
return n;
|
||||||
}
|
}
|
||||||
|
@ -692,18 +692,18 @@ bool EditorAutoloadSettings::autoload_add(const String &p_name, const String &p_
|
||||||
|
|
||||||
String error;
|
String error;
|
||||||
if (!_autoload_name_is_valid(name, &error)) {
|
if (!_autoload_name_is_valid(name, &error)) {
|
||||||
EditorNode::get_singleton()->show_warning(TTR("Can't add autoload:") + "\n" + error);
|
EditorNode::get_singleton()->show_warning(TTR("Can't add AutoLoad:") + "\n" + error);
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
const String &path = p_path;
|
const String &path = p_path;
|
||||||
if (!FileAccess::exists(path)) {
|
if (!FileAccess::exists(path)) {
|
||||||
EditorNode::get_singleton()->show_warning(TTR("Can't add autoload:") + "\n" + vformat(TTR("%s is an invalid path. File does not exist."), path));
|
EditorNode::get_singleton()->show_warning(TTR("Can't add AutoLoad:") + "\n" + vformat(TTR("%s is an invalid path. File does not exist."), path));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!path.begins_with("res://")) {
|
if (!path.begins_with("res://")) {
|
||||||
EditorNode::get_singleton()->show_warning(TTR("Can't add autoload:") + "\n" + vformat(TTR("%s is an invalid path. Not in resource path (res://)."), path));
|
EditorNode::get_singleton()->show_warning(TTR("Can't add AutoLoad:") + "\n" + vformat(TTR("%s is an invalid path. Not in resource path (res://)."), path));
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -6844,7 +6844,7 @@ EditorNode::EditorNode() {
|
||||||
gui_base->add_child(custom_build_manage_templates);
|
gui_base->add_child(custom_build_manage_templates);
|
||||||
|
|
||||||
file_android_build_source = memnew(EditorFileDialog);
|
file_android_build_source = memnew(EditorFileDialog);
|
||||||
file_android_build_source->set_title(TTR("Select android sources file"));
|
file_android_build_source->set_title(TTR("Select Android sources file"));
|
||||||
file_android_build_source->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
|
file_android_build_source->set_access(EditorFileDialog::ACCESS_FILESYSTEM);
|
||||||
file_android_build_source->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE);
|
file_android_build_source->set_file_mode(EditorFileDialog::FILE_MODE_OPEN_FILE);
|
||||||
file_android_build_source->add_filter("*.zip");
|
file_android_build_source->add_filter("*.zip");
|
||||||
|
|
|
@ -3001,7 +3001,7 @@ void GDScriptAnalyzer::reduce_preload(GDScriptParser::PreloadNode *p_preload) {
|
||||||
// TODO: Don't load if validating: use completion cache.
|
// TODO: Don't load if validating: use completion cache.
|
||||||
p_preload->resource = ResourceLoader::load(p_preload->resolved_path);
|
p_preload->resource = ResourceLoader::load(p_preload->resolved_path);
|
||||||
if (p_preload->resource.is_null()) {
|
if (p_preload->resource.is_null()) {
|
||||||
push_error(vformat(R"(Could not p_preload resource file "%s".)", p_preload->resolved_path), p_preload->path);
|
push_error(vformat(R"(Could not preload resource file "%s".)", p_preload->resolved_path), p_preload->path);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -1928,7 +1928,7 @@ void TileMap::set_cell(int p_layer, const Vector2i &p_coords, int p_source_id, c
|
||||||
|
|
||||||
if ((source_id == TileSet::INVALID_SOURCE || atlas_coords == TileSetSource::INVALID_ATLAS_COORDS || alternative_tile == TileSetSource::INVALID_TILE_ALTERNATIVE) &&
|
if ((source_id == TileSet::INVALID_SOURCE || atlas_coords == TileSetSource::INVALID_ATLAS_COORDS || alternative_tile == TileSetSource::INVALID_TILE_ALTERNATIVE) &&
|
||||||
(source_id != TileSet::INVALID_SOURCE || atlas_coords != TileSetSource::INVALID_ATLAS_COORDS || alternative_tile != TileSetSource::INVALID_TILE_ALTERNATIVE)) {
|
(source_id != TileSet::INVALID_SOURCE || atlas_coords != TileSetSource::INVALID_ATLAS_COORDS || alternative_tile != TileSetSource::INVALID_TILE_ALTERNATIVE)) {
|
||||||
WARN_PRINT("Setting a cell a cell as empty requires both source_id, atlas_coord and alternative_tile to be set to their respective \"invalid\" values. Values were thus changes accordingly.");
|
WARN_PRINT("Setting a cell as empty requires both source_id, atlas_coord and alternative_tile to be set to their respective \"invalid\" values. Values were thus changes accordingly.");
|
||||||
source_id = TileSet::INVALID_SOURCE;
|
source_id = TileSet::INVALID_SOURCE;
|
||||||
atlas_coords = TileSetSource::INVALID_ATLAS_COORDS;
|
atlas_coords = TileSetSource::INVALID_ATLAS_COORDS;
|
||||||
alternative_tile = TileSetSource::INVALID_TILE_ALTERNATIVE;
|
alternative_tile = TileSetSource::INVALID_TILE_ALTERNATIVE;
|
||||||
|
|
|
@ -350,7 +350,7 @@ Ref<PackedScene> ResourceLoaderText::_parse_node_tag(VariantParser::ResourcePars
|
||||||
} else if (next_tag.name == "editable") {
|
} else if (next_tag.name == "editable") {
|
||||||
if (!next_tag.fields.has("path")) {
|
if (!next_tag.fields.has("path")) {
|
||||||
error = ERR_FILE_CORRUPT;
|
error = ERR_FILE_CORRUPT;
|
||||||
error_text = "missing 'path' field from connection tag";
|
error_text = "missing 'path' field from editable tag";
|
||||||
_printerr();
|
_printerr();
|
||||||
return Ref<PackedScene>();
|
return Ref<PackedScene>();
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue