CommonLibSSE (Parapets fork)
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 
21  enum class FunctorType
22  {
23  kMoveTo = 0,
24  kSetPosition = 6,
25  kSetMotionType = 8,
26  kDropObject = 12,
27  kAttachAshPile = 14,
28  kSendPlayerToJail = 19,
29  kRemoveItem = 24
30  };
31 
32  virtual ~DelayFunctor(); // 00
33 
34  // add
35  virtual RE::BSScript::Variable operator()() = 0; // 01
36  virtual bool IsLatent() const = 0; // 02
37  virtual bool WantsRequeue() const; // 03 - { return false; }
38  virtual bool SaveImpl(BSStorage& a_storage) const; // 04
39  virtual FunctorType GetType() const = 0; // 05
40  virtual bool LoadImpl(const BSStorage& a_storage, std::uint32_t a_arg2, bool& a_arg3); // 06
41 
42  // members
44  };
45  static_assert(sizeof(DelayFunctor) == 0x10);
46  }
47 }
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:43
FunctorType
Definition: DelayFunctor.h:22
virtual bool IsLatent() const =0
virtual RE::BSScript::Variable operator()()=0
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_SkyrimScript__DelayFunctor
Definition: Offsets_RTTI.h:5848
std::uint32_t VMStackID
Definition: BSCoreTypes.h:8
Definition: BSIntrusiveRefCounted.h:8