// 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)(); }