mirror of
https://github.com/godotengine/godot.git
synced 2024-11-27 09:16:35 +08:00
Merge pull request #52855 from Calinou/engine-editor-hint-getter-only
This commit is contained in:
commit
c7f67daccd
@ -2297,13 +2297,11 @@ void Engine::_bind_methods() {
|
||||
ClassDB::bind_method(D_METHOD("unregister_singleton", "name"), &Engine::unregister_singleton);
|
||||
ClassDB::bind_method(D_METHOD("get_singleton_list"), &Engine::get_singleton_list);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_editor_hint", "enabled"), &Engine::set_editor_hint);
|
||||
ClassDB::bind_method(D_METHOD("is_editor_hint"), &Engine::is_editor_hint);
|
||||
|
||||
ClassDB::bind_method(D_METHOD("set_print_error_messages", "enabled"), &Engine::set_print_error_messages);
|
||||
ClassDB::bind_method(D_METHOD("is_printing_error_messages"), &Engine::is_printing_error_messages);
|
||||
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "editor_hint"), "set_editor_hint", "is_editor_hint");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::BOOL, "print_error_messages"), "set_print_error_messages", "is_printing_error_messages");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "physics_ticks_per_second"), "set_physics_ticks_per_second", "get_physics_ticks_per_second");
|
||||
ADD_PROPERTY(PropertyInfo(Variant::INT, "target_fps"), "set_target_fps", "get_target_fps");
|
||||
|
@ -147,6 +147,20 @@
|
||||
Returns [code]true[/code] if a singleton with given [code]name[/code] exists in global scope.
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_editor_hint" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<description>
|
||||
Returns [code]true[/code] if the script is currently running inside the editor, [code]false[/code] otherwise. This is useful for [code]@tool[/code] scripts to conditionally draw editor helpers, or prevent accidentally running "game" code that would affect the scene state while in the editor:
|
||||
[codeblock]
|
||||
if Engine.is_editor_hint():
|
||||
draw_gizmos()
|
||||
else:
|
||||
simulate_physics()
|
||||
[/codeblock]
|
||||
See [url=https://docs.godotengine.org/en/latest/tutorials/plugins/running_code_in_the_editor.html]Running code in the editor[/url] in the documentation for more information.
|
||||
[b]Note:[/b] To detect whether the script is run from an editor [i]build[/i] (e.g. when pressing [kbd]F5[/kbd]), use [method OS.has_feature] with the [code]"editor"[/code] argument instead. [code]OS.has_feature("editor")[/code] will evaluate to [code]true[/code] both when the code is running in the editor and when running the project from the editor, but it will evaluate to [code]false[/code] when the code is run from an exported project.
|
||||
</description>
|
||||
</method>
|
||||
<method name="is_in_physics_frame" qualifiers="const">
|
||||
<return type="bool" />
|
||||
<description>
|
||||
@ -168,17 +182,6 @@
|
||||
</method>
|
||||
</methods>
|
||||
<members>
|
||||
<member name="editor_hint" type="bool" setter="set_editor_hint" getter="is_editor_hint" default="true">
|
||||
If [code]true[/code], the script is currently running inside the editor. This is useful for [code]@tool[/code] scripts to conditionally draw editor helpers, or prevent accidentally running "game" code that would affect the scene state while in the editor:
|
||||
[codeblock]
|
||||
if Engine.editor_hint:
|
||||
draw_gizmos()
|
||||
else:
|
||||
simulate_physics()
|
||||
[/codeblock]
|
||||
See [url=https://docs.godotengine.org/en/latest/tutorials/plugins/running_code_in_the_editor.html]Running code in the editor[/url] in the documentation for more information.
|
||||
[b]Note:[/b] To detect whether the script is run from an editor [i]build[/i] (e.g. when pressing [kbd]F5[/kbd]), use [method OS.has_feature] with the [code]"editor"[/code] argument instead. [code]OS.has_feature("editor")[/code] will evaluate to [code]true[/code] both when the code is running in the editor and when running the project from the editor, but it will evaluate to [code]false[/code] when the code is run from an exported project.
|
||||
</member>
|
||||
<member name="physics_jitter_fix" type="float" setter="set_physics_jitter_fix" getter="get_physics_jitter_fix" default="0.5">
|
||||
Controls how much physics ticks are synchronized with real time. For 0 or less, the ticks are synchronized. Such values are recommended for network games, where clock synchronization matters. Higher values cause higher deviation of the in-game clock and real clock but smooth out framerate jitters. The default value of 0.5 should be fine for most; values above 2 could cause the game to react to dropped frames with a noticeable delay and are not recommended.
|
||||
[b]Note:[/b] For best results, when using a custom physics interpolation solution, the physics jitter fix should be disabled by setting [member physics_jitter_fix] to [code]0[/code].
|
||||
|
Loading…
Reference in New Issue
Block a user