3#include "mc/_HeaderOutputPredefine.h"
6#include "mc/client/gui/oreui/binding/interface/IBindable.h"
7#include "mc/deps/core/utility/pub_sub/Subscription.h"
11namespace OreUI::Detail {
class Binder; }
16namespace OreUI::Detail {
30 ::ll::TypedStorage<8, 8, ::std::unique_ptr<::OreUI::Detail::ICommandGroup>> mCommands;
31 ::ll::TypedStorage<8, 8, ::std::reference_wrapper<::OreUI::Detail::IInvocationStateTracker>> mTracker;
32 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnChangeToken;
33 ::ll::TypedStorage<8, 16, ::Bedrock::PubSub::Subscription> mOnRemoveToken;
39 MCAPI
void _enableListeners();
46 ::ll::TypedStorage<8, 8, ::std::reference_wrapper<::OreUI::Detail::IInvocationStateTracker>> mTracker;
47 ::ll::TypedStorage<8, 8, ::std::reference_wrapper<::OreUI::Detail::Binder>> mBinder;
48 ::ll::TypedStorage<8, 24, ::std::vector<::OreUI::Detail::CommandRegistry::LiveCommands>> mCommands;
52 ::std::unordered_map<::std::string, ::std::function<::std::unique_ptr<::OreUI::Detail::ICommandGroup>()>>>
59 virtual void onReadyForBindings() ;
61 virtual void onSuspend() ;
63 virtual void onBindingsReleased() ;
65 virtual void update(
double const time) ;
67 virtual ~CommandRegistry() =
default;
73 MCAPI ::std::vector<::OreUI::Detail::ICommandGroup*> getCommands()
const;
75 MCAPI
void registerCommandTemplate(
77 ::std::function<::std::unique_ptr<::OreUI::Detail::ICommandGroup>()> constructor
84 MCAPI
void $onReadyForBindings();
86 MCFOLD
void $onSuspend();
88 MCFOLD
void $onBindingsReleased();
90 MCFOLD
void $update(
double const time);
Definition CommandRegistry.h:15
Definition CommandRegistry.h:7
static MCAPI void ** $vftable()
Definition ICommandGroup.h:7
Definition IInvocationStateTracker.h:7