优化 npc 吸附后的 speaking 状态机问题;单一app启动
This commit is contained in:
parent
33009058b1
commit
1ea54de450
@ -87,11 +87,6 @@ window/subwindows/embed_subwindows=false
|
|||||||
window/stretch/mode="canvas_items"
|
window/stretch/mode="canvas_items"
|
||||||
window/per_pixel_transparency/allowed=true
|
window/per_pixel_transparency/allowed=true
|
||||||
|
|
||||||
[editor]
|
|
||||||
|
|
||||||
version_control/plugin_name="GitPlugin"
|
|
||||||
version_control/autoload_on_startup=true
|
|
||||||
|
|
||||||
[editor_plugins]
|
[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")
|
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")
|
||||||
|
@ -69,6 +69,7 @@ var speaking_sign_mode := 0:
|
|||||||
speaking_sign_tween = create_tween()
|
speaking_sign_tween = create_tween()
|
||||||
if val == 0:
|
if val == 0:
|
||||||
speaking_sign_tween.tween_property(speaking_sign, "modulate:a", 0.0, 0.3)
|
speaking_sign_tween.tween_property(speaking_sign, "modulate:a", 0.0, 0.3)
|
||||||
|
speaking_animation.stop()
|
||||||
elif val == 1:
|
elif val == 1:
|
||||||
speaking_sign_tween.tween_property(speaking_sign, "modulate", base_mod, 0.3)
|
speaking_sign_tween.tween_property(speaking_sign, "modulate", base_mod, 0.3)
|
||||||
speaking_sign_tween.parallel().tween_property(
|
speaking_sign_tween.parallel().tween_property(
|
||||||
@ -133,10 +134,10 @@ func _align_signs_status():
|
|||||||
|
|
||||||
|
|
||||||
func _on_toggle_active(activated: bool) -> void:
|
func _on_toggle_active(activated: bool) -> void:
|
||||||
if activated and speaking_sign_mode == 0:
|
if not activated:
|
||||||
speaking_sign_mode = 1
|
|
||||||
elif not activated and speaking_sign_mode > 0:
|
|
||||||
speaking_sign_mode = 0
|
speaking_sign_mode = 0
|
||||||
|
elif speaking_sign_mode == 0:
|
||||||
|
speaking_sign_mode = 1
|
||||||
|
|
||||||
|
|
||||||
func _on_interacted() -> void:
|
func _on_interacted() -> void:
|
||||||
@ -147,9 +148,10 @@ func _on_interacted() -> void:
|
|||||||
ground_archive.set_pair(name, "icount", icount)
|
ground_archive.set_pair(name, "icount", icount)
|
||||||
DialogueManager.show_dialogue_balloon(dialogue_res, dialogue_title)
|
DialogueManager.show_dialogue_balloon(dialogue_res, dialogue_title)
|
||||||
interacted.emit()
|
interacted.emit()
|
||||||
|
var out_of_range = speaking_sign_mode == 0
|
||||||
speaking_sign_mode = 2
|
speaking_sign_mode = 2
|
||||||
await DialogueManager.dialogue_ended
|
await DialogueManager.dialogue_ended
|
||||||
speaking_sign_mode = 1
|
speaking_sign_mode = 0 if out_of_range else 1
|
||||||
# 在 unlock 之前发射
|
# 在 unlock 之前发射
|
||||||
talk_finished.emit()
|
talk_finished.emit()
|
||||||
SceneManager.unlock_player()
|
SceneManager.unlock_player()
|
||||||
|
Loading…
Reference in New Issue
Block a user