CommonLibSSE (Parapets fork)
FxDelegateArgs.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/F/FxResponseArgs.h"
4 #include "RE/G/GFxValue.h"
5 
6 namespace RE
7 {
8  class FxDelegateHandler;
9  class FxResponseArgsBase;
10  class GFxMovieView;
11 
13  {
14  public:
15  FxDelegateArgs(GFxValue a_responseID, FxDelegateHandler* a_handler, GFxMovieView* a_movie, const GFxValue* a_vals, std::uint32_t a_numArgs);
16 
17  void Respond(FxResponseArgsBase& a_params) const;
18  const GFxValue& operator[](UPInt a_pos) const;
19  [[nodiscard]] FxDelegateHandler* GetHandler() const;
20  [[nodiscard]] GFxMovieView* GetMovie() const;
21  [[nodiscard]] std::uint32_t GetArgCount() const;
22 
23  template <std::convertible_to<GFxValue>... Args>
24  void Respond(Args&&... a_args) const
25  {
26  FxResponseArgs<sizeof...(Args)> response;
27  (response.Add(std::forward<Args>(a_args)), ...);
28  Respond(response);
29  }
30 
31  protected:
32  // members
36  const GFxValue* _args; // 28
37  std::uint32_t _numArgs; // 30
38  std::uint32_t _pad34; // 34
39  };
40  static_assert(sizeof(FxDelegateArgs) == 0x38);
41 }
Definition: FxDelegateArgs.h:13
void Respond(FxResponseArgsBase &a_params) const
FxDelegateArgs(GFxValue a_responseID, FxDelegateHandler *a_handler, GFxMovieView *a_movie, const GFxValue *a_vals, std::uint32_t a_numArgs)
std::uint32_t _numArgs
Definition: FxDelegateArgs.h:37
GFxValue _responseID
Definition: FxDelegateArgs.h:33
std::uint32_t GetArgCount() const
GFxMovieView * GetMovie() const
GFxMovieView * _movieView
Definition: FxDelegateArgs.h:35
const GFxValue * _args
Definition: FxDelegateArgs.h:36
void Respond(Args &&... a_args) const
Definition: FxDelegateArgs.h:24
std::uint32_t _pad34
Definition: FxDelegateArgs.h:38
FxDelegateHandler * GetHandler() const
const GFxValue & operator[](UPInt a_pos) const
FxDelegateHandler * _handler
Definition: FxDelegateArgs.h:34
Definition: FxDelegateHandler.h:12
Definition: FxResponseArgsBase.h:8
Definition: FxResponseArgs.h:10
Definition: GFxMovieView.h:24
Definition: GFxValue.h:92
Definition: AbsorbEffect.h:6
std::size_t UPInt
Definition: SFTypes.h:5