Files
o3de/Code/Legacy/CryCommon/CrySystemBus.h
T
Esteban Papp 9f0bbf3b74 SPEC-7531 Change Code/CryEngine to Code/Legacy (#1634)
* git mv Code\CryEngine Code\Legacy
* redirecting CMakeLists.txt
* fixing uic warning
* Some more CryEngine mentions
* validation scripts

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-06-29 13:51:24 -07:00

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