CommonLibVR
DelayFunctor.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace RE
6 {
7  namespace BSScript
8  {
9  class Variable;
10  }
11 
12  class BSStorage;
13 
14  namespace SkyrimScript
15  {
17  {
18  public:
19  inline static constexpr auto RTTI = RTTI_SkyrimScript__DelayFunctor;
20  inline static constexpr auto VTABLE = VTABLE_SkyrimScript__DelayFunctor;
21 
22  enum class FunctorType
23  {
24  kMoveTo = 0,
25  kSetPosition = 6,
26  kSetMotionType = 8,
27  kDropObject = 12,
28  kAttachAshPile = 14,
29  kSendPlayerToJail = 19,
30  kRemoveItem = 24
31  };
32 
33  virtual ~DelayFunctor(); // 00
34 
35  // add
36  virtual RE::BSScript::Variable operator()() = 0; // 01
37  virtual bool IsLatent() const = 0; // 02
38  virtual bool WantsRequeue() const; // 03 - { return false; }
39  virtual bool SaveImpl(BSStorage& a_storage) const; // 04
40  virtual FunctorType GetType() const = 0; // 05
41  virtual bool LoadImpl(const BSStorage& a_storage, std::uint32_t a_arg2, bool& a_arg3); // 06
42 
43  // members
45  };
46  static_assert(sizeof(DelayFunctor) == 0x10);
47  }
48 }
Definition: Variable.h:15
Definition: BSStorage.h:14
Definition: DelayFunctor.h:17
static constexpr auto RTTI
Definition: DelayFunctor.h:19
virtual FunctorType GetType() const =0
virtual bool SaveImpl(BSStorage &a_storage) const
virtual bool LoadImpl(const BSStorage &a_storage, std::uint32_t a_arg2, bool &a_arg3)
virtual bool WantsRequeue() const
VMStackID stackID
Definition: DelayFunctor.h:44
FunctorType
Definition: DelayFunctor.h:23
virtual bool IsLatent() const =0
virtual RE::BSScript::Variable operator()()=0
static constexpr auto VTABLE
Definition: DelayFunctor.h:20
Definition: AbsorbEffect.h:6
constexpr std::array< REL::ID, 1 > VTABLE_SkyrimScript__DelayFunctor
Definition: Offsets_VTABLE.h:12680
std::uint32_t VMStackID
Definition: BSCoreTypes.h:8
constexpr REL::ID RTTI_SkyrimScript__DelayFunctor(static_cast< std::uint64_t >(689015))
Definition: BSIntrusiveRefCounted.h:8