/* * Copyright (c) Contributors to the Open 3D Engine Project * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #pragma once #include #include #include #include namespace MessagePopup { ////////////////////////////////////////////////////////////////////////// class MessagePopupManager : public AZ::TickBus::Handler { public: MessagePopupManager(); bool SetPopupData(AZ::u32 _popupID, void *_clientID, AZStd::function _callback, float _showTime); AZ::u32 CreatePopup(); bool RemovePopup(AZ::u32 _popupID); void* GetPopupClientData(AZ::u32 _popupID); MessagePopupInfo* GetPopupInfo(AZ::u32 _popupID); AZ::u32 GetNumActivePopups() const { return m_currentPopups.size(); } protected: ////////////////////////////////////////////////////////////////////////// // TickBus virtual void OnTick(float deltaTime, AZ::ScriptTimePoint scriptTimePoint) override; private: typedef AZStd::map CurrentPopupsMap; CurrentPopupsMap m_currentPopups; }; }