51 lines
1.8 KiB
GDScript
51 lines
1.8 KiB
GDScript
class_name EventConversation extends "res://scripts/Event/Flow/EventGroup.gd"
|
|
|
|
@export var startPauseType:PauseSystem.PauseType = PauseSystem.PauseType.ENTITY_PAUSED
|
|
@export var endPauseType:PauseSystem.PauseType = PauseSystem.PauseType.NOT_PAUSED
|
|
|
|
@export var entities:Array[Entity] = []
|
|
|
|
@export var pauseInteractee:bool = true
|
|
@export var pauseInteractor:bool = true
|
|
@export var turnInteractee:bool = true
|
|
@export var turnInteractor:bool = true
|
|
|
|
func start() -> void:
|
|
# Turn events
|
|
if interactee && interactor:
|
|
if turnInteractee && interactee.entityDirection && interactor.characterBody:
|
|
var turn = EventEntityTurn.new()
|
|
turn.entity = interactee.entityDirection
|
|
turn.direction = turn.entity.getDirectionToFace(interactor.characterBody.position)
|
|
addExtraEvent(turn, 0)
|
|
|
|
if turnInteractor && interactor.entityDirection && interactee.characterBody:
|
|
var turn = EventEntityTurn.new()
|
|
turn.entity = interactor.entityDirection
|
|
turn.direction = turn.entity.getDirectionToFace(interactee.characterBody.position)
|
|
addExtraEvent(turn, 0)
|
|
|
|
# Create start pause event
|
|
if (pauseInteractee && interactee.entity) || (pauseInteractor && interactor.entity):
|
|
var startPause = EventPause.new()
|
|
startPause.pauseType = startPauseType
|
|
startPause.entities = entities
|
|
if pauseInteractee && interactee.entity:
|
|
startPause.includeInteractee = pauseInteractee
|
|
if pauseInteractor && interactor.entity:
|
|
startPause.includeInteractor = pauseInteractor
|
|
addExtraEvent(startPause, 0)
|
|
|
|
# Create end pause event.
|
|
var endPause = EventPause.new()
|
|
endPause.pauseType = endPauseType
|
|
endPause.entities = entities
|
|
if pauseInteractee && interactee.entity:
|
|
endPause.includeInteractee = pauseInteractee
|
|
if pauseInteractor && interactor.entity:
|
|
endPause.includeInteractor = pauseInteractor
|
|
addExtraEvent(endPause, -1)
|
|
|
|
# Pass off to event group
|
|
super.start()
|