CommonLibVR
Loading...
Searching...
No Matches
IVMObjectBindInterface.h
Go to the documentation of this file.
1#pragma once
2
5
6namespace RE
7{
8 namespace BSScript
9 {
10 class Object;
11
13 {
14 public:
15 inline static constexpr auto RTTI = RTTI_BSScript__IVMObjectBindInterface;
16 inline static constexpr auto VTABLE = VTABLE_BSScript__IVMObjectBindInterface;
17
18 virtual ~IVMObjectBindInterface(); // 00
19
20 // add
21 [[nodiscard]] virtual VMHandle GetBoundHandle(const BSTSmartPointer<Object>& a_objPtr) const = 0; // 01
22 virtual bool TypeCanBeBound(const BSFixedString& a_className, VMHandle a_handle) = 0; // 02
23 virtual void BindObject(BSTSmartPointer<Object>& a_objPtr, VMHandle a_handle, bool a_conditional) = 0; // 03
24 virtual void HandleLoadedBinding(BSTSmartPointer<Object>& a_objPtr, VMHandle a_handle, bool a_conditional) = 0; // 04
25 virtual void RemoveAllBoundObjects(VMHandle a_handle) = 0; // 05
26 virtual void RemoveAllDiskLoadedBoundObjects(VMHandle a_handle) = 0; // 06
27 virtual void HandleCObjectDeletion(VMHandle a_handle) = 0; // 07
28 virtual void UnbindObject(const BSTSmartPointer<Object>& a_objPtr) = 0; // 08
29 virtual bool CreateObjectWithProperties(const BSFixedString& a_className, std::uint32_t a_numProperties, BSTSmartPointer<Object>& a_objPtr) = 0; // 09
30 virtual bool InitObjectProperties(BSTSmartPointer<Object>& a_objPtr, void* a_property, bool a_arg3) = 0; // 0A
31 };
32 static_assert(sizeof(IVMObjectBindInterface) == 0x8);
33 }
34}
Definition BSTSmartPointer.h:37
Definition AbsorbEffect.h:6
constexpr REL::ID RTTI_BSScript__IVMObjectBindInterface(static_cast< std::uint64_t >(691834))
constexpr std::array< REL::ID, 1 > VTABLE_BSScript__IVMObjectBindInterface
Definition Offsets_VTABLE.h:9462
std::uint64_t VMHandle
Definition BSCoreTypes.h:7
Definition IVMObjectBindInterface.h:13
static constexpr auto VTABLE
Definition IVMObjectBindInterface.h:16
virtual void HandleCObjectDeletion(VMHandle a_handle)=0
virtual bool InitObjectProperties(BSTSmartPointer< Object > &a_objPtr, void *a_property, bool a_arg3)=0
virtual void UnbindObject(const BSTSmartPointer< Object > &a_objPtr)=0
virtual void BindObject(BSTSmartPointer< Object > &a_objPtr, VMHandle a_handle, bool a_conditional)=0
virtual void HandleLoadedBinding(BSTSmartPointer< Object > &a_objPtr, VMHandle a_handle, bool a_conditional)=0
virtual VMHandle GetBoundHandle(const BSTSmartPointer< Object > &a_objPtr) const =0
virtual void RemoveAllBoundObjects(VMHandle a_handle)=0
virtual bool CreateObjectWithProperties(const BSFixedString &a_className, std::uint32_t a_numProperties, BSTSmartPointer< Object > &a_objPtr)=0
static constexpr auto RTTI
Definition IVMObjectBindInterface.h:15
virtual void RemoveAllDiskLoadedBoundObjects(VMHandle a_handle)=0
virtual bool TypeCanBeBound(const BSFixedString &a_className, VMHandle a_handle)=0