CommonLibVR
BSScriptObjectBindPolicy.h
Go to the documentation of this file.
1 #pragma once
2 
3 #include "RE/B/BSAtomic.h"
4 #include "RE/B/BSTHashMap.h"
5 #include "RE/B/BSTSmartPointer.h"
6 
7 namespace RE
8 {
9  namespace BSScript
10  {
11  class IVirtualMachine;
12  class Object;
13  struct IVMObjectBindInterface;
14 
16  {
17  public:
18  inline static constexpr auto RTTI = RTTI_BSScript__ObjectBindPolicy;
19  inline static constexpr auto VTABLE = VTABLE_BSScript__ObjectBindPolicy;
20 
21  virtual ~ObjectBindPolicy(); // 00
22 
23  // add
24  virtual void Unk_01(VMHandle a_handle) = 0; // 01
25  virtual void Unk_02(VMHandle a_handle) = 0; // 02
26  virtual void Unk_03(VMHandle a_handle) = 0; // 03
27  virtual void Unk_04() = 0; // 04
28  virtual void Unk_05(void) = 0; // 05
29  virtual void Unk_06(void) = 0; // 06
30  virtual void Unk_07(void) = 0; // 07
31  virtual void Unk_08(void) = 0; // 08
32  virtual void Unk_09(void) = 0; // 09
33  virtual void Unk_0A(void) = 0; // 0A
34  virtual void Unk_0B(void) = 0; // 0B
35  virtual void Unk_0C(void) = 0; // 0C
36 
37  void BindObject(BSTSmartPointer<Object>& a_objectPtr, VMHandle a_handle);
38 
39  // members
44  };
45  static_assert(sizeof(ObjectBindPolicy) == 0x50);
46  }
47 }
Definition: IVirtualMachine.h:39
Definition: BSScriptObjectBindPolicy.h:16
virtual void Unk_0B(void)=0
virtual void Unk_06(void)=0
virtual void Unk_0A(void)=0
virtual void Unk_09(void)=0
virtual void Unk_0C(void)=0
virtual void Unk_01(VMHandle a_handle)=0
virtual void Unk_02(VMHandle a_handle)=0
virtual void Unk_07(void)=0
BSTHashMap< VMHandle, UnkValue > attachedScripts
Definition: BSScriptObjectBindPolicy.h:43
static constexpr auto RTTI
Definition: BSScriptObjectBindPolicy.h:18
virtual void Unk_03(VMHandle a_handle)=0
IVirtualMachine * vm
Definition: BSScriptObjectBindPolicy.h:40
virtual void Unk_08(void)=0
BSSpinLock attachedScriptsLock
Definition: BSScriptObjectBindPolicy.h:42
IVMObjectBindInterface * bindInterface
Definition: BSScriptObjectBindPolicy.h:41
static constexpr auto VTABLE
Definition: BSScriptObjectBindPolicy.h:19
void BindObject(BSTSmartPointer< Object > &a_objectPtr, VMHandle a_handle)
virtual void Unk_05(void)=0
Definition: BSAtomic.h:92
Definition: BSTHashMap.h:21
Definition: BSTSmartPointer.h:37
Definition: AbsorbEffect.h:6
constexpr REL::ID RTTI_BSScript__ObjectBindPolicy(static_cast< std::uint64_t >(689081))
constexpr std::array< REL::ID, 1 > VTABLE_BSScript__ObjectBindPolicy
Definition: Offsets_VTABLE.h:9819
std::uint64_t VMHandle
Definition: BSCoreTypes.h:7
Definition: IVMObjectBindInterface.h:13