// Copyright (C) 2022 Jérôme "Lynix" Leclercq (lynix680@gmail.com) // This file is part of the "Nazara Engine - Core module" // For conditions of distribution and use, see copyright notice in Config.hpp #include #include namespace Nz { template T& Nz::Application::AddComponent(Args&& ...args) { std::unique_ptr component = std::make_unique(std::forward(args)...); T& componentRef = *component; AddComponent(std::move(component)); return componentRef; } inline Application::Application() : Application(0, static_cast(nullptr)) { } inline Application::Application(int argc, char** argv) : Application(argc, static_cast(argv)) { } void Application::AddComponent(std::unique_ptr&& component) { m_components.emplace_back(std::move(component)); } inline void Application::Quit() { m_running = false; } } #include