diff --git a/project.godot b/project.godot index d7d13446..411e2a23 100644 --- a/project.godot +++ b/project.godot @@ -87,11 +87,6 @@ window/subwindows/embed_subwindows=false window/stretch/mode="canvas_items" window/per_pixel_transparency/allowed=true -[editor] - -version_control/plugin_name="GitPlugin" -version_control/autoload_on_startup=true - [editor_plugins] enabled=PackedStringArray("res://addons/debug_menu/plugin.cfg", "res://addons/dialogue_manager/plugin.cfg", "res://addons/gif-importer/plugin.cfg", "res://addons/project-statistics/plugin.cfg", "res://addons/property-inspector/plugin.cfg") diff --git a/scene/entity/npc.gd b/scene/entity/npc.gd index 94a2884a..1e57d9ec 100644 --- a/scene/entity/npc.gd +++ b/scene/entity/npc.gd @@ -69,6 +69,7 @@ var speaking_sign_mode := 0: speaking_sign_tween = create_tween() if val == 0: speaking_sign_tween.tween_property(speaking_sign, "modulate:a", 0.0, 0.3) + speaking_animation.stop() elif val == 1: speaking_sign_tween.tween_property(speaking_sign, "modulate", base_mod, 0.3) speaking_sign_tween.parallel().tween_property( @@ -133,10 +134,10 @@ func _align_signs_status(): func _on_toggle_active(activated: bool) -> void: - if activated and speaking_sign_mode == 0: - speaking_sign_mode = 1 - elif not activated and speaking_sign_mode > 0: + if not activated: speaking_sign_mode = 0 + elif speaking_sign_mode == 0: + speaking_sign_mode = 1 func _on_interacted() -> void: @@ -147,9 +148,10 @@ func _on_interacted() -> void: ground_archive.set_pair(name, "icount", icount) DialogueManager.show_dialogue_balloon(dialogue_res, dialogue_title) interacted.emit() + var out_of_range = speaking_sign_mode == 0 speaking_sign_mode = 2 await DialogueManager.dialogue_ended - speaking_sign_mode = 1 + speaking_sign_mode = 0 if out_of_range else 1 # 在 unlock 之前发射 talk_finished.emit() SceneManager.unlock_player()