Files
o3de/Code/Legacy/CryCommon/CrySystemBus.h
T
Steve Pham 38261d0800 Shorten copyright headers by splitting into 2 lines (#2213)
* Updated all copyright headers to split the longer original copyright line into 2 shorter lines

Signed-off-by: Steve Pham <spham@amazon.com>
2021-07-16 15:25:48 -07:00

82 lines
2.2 KiB
C++

/*
* 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
*
*/
#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