class_name OverworldConversationEvent extends "res://scripts/Cutscene/Cutscene.gd" const OverworldEntity = preload("res://scripts/Entities/OverworldEntity.gd"); const TextboxEvent = preload("res://scripts/Cutscene/Event/VisualNovel/TextboxEvent.gd"); const PauseEvent = preload("res://scripts/Cutscene/Event/CutscenePauseEvent.gd"); const OverworldChangeDirectionEvent = preload("res://scripts/Cutscene/Event/Entity/OverworldChangeDirectionEvent.gd"); var speaker:OverworldEntity; var interacted:OverworldEntity; var texts:Array[String]; func _init(speaker:OverworldEntity, interacted:OverworldEntity, texts:Array[String]) -> void: self.speaker = speaker; self.interacted = interacted; self.texts = texts; func setupCutscene() -> void: var dirSpeaker = speaker.getDirectionToFace(interacted.position); var dirInteracted = interacted.getDirectionToFace(speaker.position); add([ OverworldChangeDirectionEvent.new(speaker, dirSpeaker), OverworldChangeDirectionEvent.new(interacted, dirInteracted), PauseEvent.new(PauseSystem.PauseType.ENTITY_PAUSED, [ speaker, interacted ]), ]); for text in texts: add([ TextboxEvent.new(text) ]); add([ PauseEvent.new(PauseSystem.PauseType.NOT_PAUSED) ]);