You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
o3de/Code/Legacy/CryCommon/CrySystemBus.h

81 lines
2.1 KiB
C++

/*
* Copyright (c) Contributors to the Open 3D Engine Project
*
* SPDX-License-Identifier: Apache-2.0 OR MIT
*
*/
#ifndef CRYINCLUDE_CRYCOMMON_CRYSYSTEMBUS_H
#define CRYINCLUDE_CRYCOMMON_CRYSYSTEMBUS_H
#pragma once
#include <AzCore/EBus/EBus.h>
struct ISystem;
struct SSystemInitParams;
/*!
* Events from CrySystem
*/
class CrySystemEvents
: public AZ::EBusTraits
{
public:
//! ISystem has been created and is about to initialize.
virtual void OnCrySystemPreInitialize(ISystem&, const SSystemInitParams&) {}
//! ISystem and IConsole has been created but the cfg files have not been parsed
virtual void OnCrySystemCVarRegistry() {}
//! ISystem has been created and initialized.
virtual void OnCrySystemInitialized(ISystem&, const SSystemInitParams&) {}
//! In-Editor systems have been created and initialized.
virtual void OnCryEditorInitialized() {}
//! Editor has started a level export
virtual void OnCryEditorBeginLevelExport() {}
//! Editor has finished a level export
virtual void OnCryEditorEndLevelExport(bool /*success*/) {}
//! ISystem is about to begin shutting down
virtual void OnCrySystemShutdown(ISystem&) {}
//! ISystem has shut down.
virtual void OnCrySystemPostShutdown() {}
//! Sent when a new level is being created.
virtual void OnCryEditorBeginCreate() {}
//! Sent after a new level has been created.
virtual void OnCryEditorEndCreate() {}
//! Sent when a level is about to be loaded.
virtual void OnCryEditorBeginLoad() {}
//! Sent after a level has been loaded.
virtual void OnCryEditorEndLoad() {}
//! Sent when the document is about to close.
virtual void OnCryEditorCloseScene() {}
//! Sent when the document is closed.
virtual void OnCryEditorSceneClosed() {}
};
using CrySystemEventBus = AZ::EBus<CrySystemEvents>;
/*!
* Requests to CrySystem
*/
class CrySystemRequests
: public AZ::EBusTraits
{
public:
//! Get CrySystem
virtual ISystem* GetCrySystem() = 0;
};
using CrySystemRequestBus = AZ::EBus<CrySystemRequests>;
#endif // CRYINCLUDE_CRYCOMMON_CRYSYSTEMBUS_H