Almost fixed entities

This commit is contained in:
2025-05-12 21:00:13 -05:00
parent 828ff03e56
commit a575b8a47d
13 changed files with 158 additions and 79 deletions

View File

@@ -1,6 +1,6 @@
class_name EventEntityTurn extends "res://scripts/Event/Event.gd"
@export var entity:Entity = null
@export var entity:EntityDirection = null
@export var direction:EntityDirection.Direction = EntityDirection.Direction.SOUTH
func start():

View File

@@ -2,11 +2,10 @@ class_name Event extends Node
const Entity = preload("res://scripts/Entity/Entity.gd");
var started:bool = false;
var ended:bool = false;
var interactor:Entity = null
var interactee:Entity = null
var interactor:EntityInteractor = null
var interactee:EntityInteractable = null
# Godot Methods
func _init() -> void:
@@ -43,8 +42,8 @@ func reset() -> void:
interactee = null
func onEntityInteract(
interactor:Entity,
interactee:Entity
interactor:EntityInteractor,
interactee:EntityInteractable
) -> void:
self.reset()
self.interactor = interactor

View File

@@ -12,34 +12,39 @@ class_name EventConversation extends "res://scripts/Event/Flow/EventGroup.gd"
func start() -> void:
# Turn events
if interactee != null && interactor != null:
if pauseInteractee && turnInteractee:
if interactee && interactor:
if turnInteractee && interactee.entityDirection && interactor.characterBody:
var turn = EventEntityTurn.new()
turn.entity = interactee
turn.direction = interactee.getDirectionToFace(interactor.position)
turn.entity = interactee.entityDirection
turn.direction = turn.entity.getDirectionToFace(interactor.characterBody.position)
addExtraEvent(turn, 0)
if pauseInteractor && turnInteractor:
if turnInteractor && interactor.entityDirection && interactee.characterBody:
var turn = EventEntityTurn.new()
turn.entity = interactor
turn.direction = interactor.getDirectionToFace(interactee.position)
turn.entity = interactor.entityDirection
turn.direction = turn.entity.getDirectionToFace(interactee.characterBody.position)
addExtraEvent(turn, 0)
# Create start pause event
var startPause = EventPause.new()
startPause.pauseType = startPauseType
startPause.entities = entities
startPause.includeInteractee = pauseInteractee
startPause.includeInteractor = pauseInteractor
addExtraEvent(startPause, 0)
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
endPause.includeInteractee = pauseInteractee
endPause.includeInteractor = pauseInteractor
addExtraEvent(endPause, -1)
# 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()
super.start()

View File

@@ -9,8 +9,8 @@ const PauseSystem = preload("res://scripts/Singleton/Pause.gd")
func start() -> void:
var ents:Array[Entity] = entities
if interactor != null and includeInteractor:
ents.append(interactor)
if interactee != null and includeInteractee:
ents.append(interactee)
if interactor && includeInteractor && interactor.entity:
ents.append(interactor.entity)
if interactee && includeInteractee && interactee.entity:
ents.append(interactee.entity)
PAUSE.pause(pauseType, ents)