// Copyright (c) 2023 Dominic Masters // // This software is released under the MIT License. // https://opensource.org/licenses/MIT #include "GameCamera.hpp" using namespace Dawn; GameCamera::GameCamera(SceneItem *i) : SceneItemComponent(i) {} std::vector GameCamera::getDependencies() { return { (this->camera = item->getComponent()) }; } void GameCamera::onStart() { assertNotNull(this->camera); assertNotNull(this->player); useEvent([&](float_t delta) { glm::vec3 cameraTarget = player->transform->getLocalPosition(); camera->transform->lookAt( cameraTarget + glm::vec3(0, 10.0f, 1.5f), cameraTarget ); }, getScene()->eventSceneUpdate); }