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