CommonLibSSE (powerof3)
FxDelegate.h
Go to the documentation of this file.
1 #pragma once
2 
5 #include "RE/G/GHash.h"
6 #include "RE/G/GPtr.h"
7 #include "RE/G/GString.h"
8 
9 namespace RE
10 {
11  class FxResponseArgsBase;
12  class GFxMovieView;
13 
15  {
16  public:
17  inline static constexpr auto RTTI = RTTI_FxDelegate;
18 
19  struct CallbackDefn
20  {
21  public:
22  // members
23  GPtr<FxDelegateHandler> handler{ nullptr }; // 00
25  };
26  static_assert(sizeof(CallbackDefn) == 0x10);
27 
29  {
30  public:
31  UPInt operator()(const GString& a_data) const;
32  };
33  static_assert(std::is_empty_v<CallbackHashFunctor>);
34 
36 
37  FxDelegate() = default;
38  virtual ~FxDelegate() = default; // 00
39 
40  // override (GFxExternalInterface)
41  virtual void Callback(GFxMovieView* a_movieView, const char* a_methodName, const GFxValue* a_args, std::uint32_t a_argCount) override; // 01
42 
43  static void Invoke(GFxMovieView* a_movieView, const char* a_methodName, FxResponseArgsBase& a_args); // Call a method registered with the AS2 GameDelegate instance
44  static void Invoke2(GFxMovieView* a_movieView, const char* a_methodName, FxResponseArgsBase& a_args);
45 
48 
49  // members
51  };
52  static_assert(sizeof(FxDelegate) == 0x20);
53 }
Definition: FxDelegateHandler.h:12
void(const FxDelegateArgs &a_params) CallbackFn
Definition: FxDelegateHandler.h:16
Definition: FxDelegate.h:15
static constexpr auto RTTI
Definition: FxDelegate.h:17
static void Invoke(GFxMovieView *a_movieView, const char *a_methodName, FxResponseArgsBase &a_args)
virtual ~FxDelegate()=default
FxDelegate()=default
void RegisterHandler(FxDelegateHandler *a_callback)
void UnregisterHandler(FxDelegateHandler *a_callback)
virtual void Callback(GFxMovieView *a_movieView, const char *a_methodName, const GFxValue *a_args, std::uint32_t a_argCount) override
CallbackHash callbacks
Definition: FxDelegate.h:50
static void Invoke2(GFxMovieView *a_movieView, const char *a_methodName, FxResponseArgsBase &a_args)
Definition: FxResponseArgsBase.h:8
Definition: GFxExternalInterface.h:11
Definition: GFxMovieView.h:24
Definition: GFxValue.h:90
Definition: GPtr.h:7
Definition: GString.h:8
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_FxDelegate
Definition: Offsets_RTTI.h:4822
std::size_t UPInt
Definition: SFTypes.h:5
Definition: FxDelegate.h:20
GPtr< FxDelegateHandler > handler
Definition: FxDelegate.h:23
FxDelegateHandler::CallbackFn * callback
Definition: FxDelegate.h:24
Definition: FxDelegate.h:29
UPInt operator()(const GString &a_data) const