|
VoltMod
C++23 framework for CS2 server plugins
|
Run menu sessions on a plugin's PanoramaMenuLayout. More...
#include <PanoramaMenu.hpp>
Inheritance diagram for VoltMod::PanoramaMenu:Classes | |
| struct | Services |
Public Member Functions | |
| PanoramaMenu (const Services &services, PanoramaMenuLayout &layout) | |
| bool | CanShow (int slot) const |
| bool | OpenSession (int slot, std::shared_ptr< Menu > menu, MenuOptions options) override |
| void | Open (int slot, std::shared_ptr< Menu > menu) override |
| bool | IsOpen (int slot) const override |
| void | Close (int slot) override |
| void | CloseAll (int slot) override |
| void | CloseAll (int slot, std::string_view replyKey) override |
| void | Prompt (int slot, std::string prompt, std::function< bool(int slot, std::string_view text)> callback) override |
| std::string | Translate (int slot, std::string_view key, std::string_view fallback) const override |
Public Member Functions inherited from VoltMod::MenuSurface | |
| virtual | ~MenuSurface ()=default |
| MenuSurface (const MenuSurface &)=delete | |
| MenuSurface & | operator= (const MenuSurface &)=delete |
Additional Inherited Members | |
Protected Member Functions inherited from VoltMod::MenuSurface | |
| MenuSurface ()=default | |
Run menu sessions on a plugin's PanoramaMenuLayout.
Uses the same MenuStack behavior as CenterHtmlMenu. Root submenus become sidebar tabs. Pass the menu to runtime.Menus.Prefer when Panorama should be the preferred surface.
Definition at line 33 of file PanoramaMenu.hpp.
| VoltMod::PanoramaMenu::PanoramaMenu | ( | const Services & | services, |
| PanoramaMenuLayout & | layout | ||
| ) |
layout must outlive this.
Definition at line 11 of file PanoramaMenu.cpp.
References VoltMod::Subscriptions::Add(), VoltMod::MenuStack::Committed, VoltMod::ScreenManager::Pressed, VoltMod::ReadFile(), and VoltMod::PanoramaMenu::Services::Screens.
Whether slot can see the layout and has every required addon.
Definition at line 23 of file PanoramaMenu.cpp.
References VoltMod::PanoramaMenu::Services::AddonManager, VoltMod::ScreenManager::Available(), VoltMod::MultiAddonManager::IsReady(), VoltMod::IsValidSlot(), VoltMod::ReadFile(), and VoltMod::PanoramaMenu::Services::Screens.
Referenced by OpenSession().
Pops the top menu, returning to its parent when one exists.
Implements VoltMod::MenuSurface.
Definition at line 74 of file PanoramaMenu.cpp.
References VoltMod::ChatInput::CancelCapture(), VoltMod::PanoramaMenu::Services::ChatInput, VoltMod::MenuStack::Depth(), VoltMod::Draw, IsOpen(), VoltMod::MenuStack::Pop(), and VoltMod::ReadFile().
Clears the stack and removes the menu from the player's screen.
Implements VoltMod::MenuSurface.
Definition at line 97 of file PanoramaMenu.cpp.
References VoltMod::MenuStack::Clear(), IsOpen(), and VoltMod::ReadFile().
Referenced by CloseAll(), and OpenSession().
Translates and sends replyKey, then closes every menu.
Implements VoltMod::MenuSurface.
Definition at line 108 of file PanoramaMenu.cpp.
References CloseAll(), VoltMod::Translations::Get(), VoltMod::PanoramaMenu::Services::Policy, VoltMod::ReadFile(), VoltMod::Policy::Reply, and VoltMod::PanoramaMenu::Services::Translations.
Implements VoltMod::MenuSurface.
Definition at line 69 of file PanoramaMenu.cpp.
References VoltMod::MenuStack::IsOpen(), and VoltMod::ReadFile().
Referenced by Close(), CloseAll(), Open(), and OpenSession().
Pushes menu onto slot's session and shows it, starting one with default options when none is open. What a row calls.
Implements VoltMod::MenuSurface.
Definition at line 52 of file PanoramaMenu.cpp.
References VoltMod::Draw, IsOpen(), OpenSession(), VoltMod::MenuStack::Push(), and VoltMod::ReadFile().
|
overridevirtual |
Opens a session for slot showing menu, closing any the player has open here. What a command calls. False when this surface cannot draw for slot; nothing is left open then.
Implements VoltMod::MenuSurface.
Definition at line 29 of file PanoramaMenu.cpp.
References CanShow(), CloseAll(), VoltMod::Draw, VoltMod::PanoramaMenu::Services::Freeze, IsOpen(), VoltMod::MenuFreeze::Open(), VoltMod::MenuStack::Push(), and VoltMod::ReadFile().
Referenced by Open().
|
overridevirtual |
Routes the next chat line to callback. Closing the menu cancels it.
Implements VoltMod::MenuSurface.
Definition at line 119 of file PanoramaMenu.cpp.
References VoltMod::ChatInput::BeginCapture(), VoltMod::PanoramaMenu::Services::ChatInput, and VoltMod::ReadFile().
|
overridevirtual |
Translates key for slot, using fallback when missing.
Implements VoltMod::MenuSurface.
Definition at line 125 of file PanoramaMenu.cpp.
References VoltMod::Translations::GetOr(), VoltMod::ReadFile(), and VoltMod::PanoramaMenu::Services::Translations.