Files
Dawn/src/dawnrose/scene/components/entity/EntityInteractor.cpp

28 lines
634 B
C++

// Copyright (c) 2023 Dominic Masters
//
// This software is released under the MIT License.
// https://opensource.org/licenses/MIT
#include "EntityInteractor.hpp"
using namespace Dawn;
EntityInteractor::EntityInteractor(SceneItem* item) :
trigger(nullptr),
SceneItemComponent(item)
{
}
void EntityInteractor::onStart() {
this->evtTriggerEnter = [&]{};
useEffect([&]{
this->evtTriggerEnter();
if(this->trigger == nullptr) return;
this->evtTriggerEnter = useEvent([&](EntityInteractable *interactable) {
interactable->interact();
}, this->trigger->eventTriggerEnter);
}, this->trigger)();
}