/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #pragma once #if !defined(Q_MOC_RUN) #include #include #include #include #include #include #endif namespace AZ { class Entity; } namespace O3DE::ProjectManager { class Application : public AzFramework::Application , public AzToolsFramework::EmbeddedPython::PythonLoader { public: AZ_CLASS_ALLOCATOR(Application, AZ::SystemAllocator) using AzFramework::Application::Application; virtual ~Application(); bool Init(bool interactive = true, AZStd::unique_ptr pythonBindings = nullptr); bool Run(); void TearDown(); private: bool InitLog(const char* logName); bool RegisterEngine(bool interactive); AZStd::unique_ptr m_pythonBindings; AZStd::unique_ptr m_settings; QSharedPointer m_app; QSharedPointer m_mainWindow; AZ::Entity* m_entity = nullptr; }; }