Files
Dawn-Godot/scripts/Cutscene/Scene/OverworldConversationEvent.gd

30 lines
1.2 KiB
GDScript

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) ]);