CommonLibSSE NG
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
17 virtual ~IVMObjectBindInterface(); // 00
18
19 // add
20 [[nodiscard]] virtual VMHandle GetBoundHandle(const BSTSmartPointer<Object>& a_objPtr) const = 0; // 01
21 virtual bool TypeCanBeBound(const BSFixedString& a_className, VMHandle a_handle) = 0; // 02
22 virtual void BindObject(BSTSmartPointer<Object>& a_objPtr, VMHandle a_handle, bool a_conditional) = 0; // 03
23 virtual void HandleLoadedBinding(BSTSmartPointer<Object>& a_objPtr, VMHandle a_handle, bool a_conditional) = 0; // 04
24 virtual void RemoveAllBoundObjects(VMHandle a_handle) = 0; // 05
25 virtual void RemoveAllDiskLoadedBoundObjects(VMHandle a_handle) = 0; // 06
26 virtual void HandleCObjectDeletion(VMHandle a_handle) = 0; // 07
27 virtual void UnbindObject(const BSTSmartPointer<Object>& a_objPtr) = 0; // 08
28 virtual bool CreateObjectWithProperties(const BSFixedString& a_className, std::uint32_t a_numProperties, BSTSmartPointer<Object>& a_objPtr) = 0; // 09
29 virtual bool InitObjectProperties(BSTSmartPointer<Object>& a_objPtr, void* a_property, bool a_arg3) = 0; // 0A
30 };
31 static_assert(sizeof(IVMObjectBindInterface) == 0x8);
32 }
33}
Definition BSTSmartPointer.h:36
Definition AbsorbEffect.h:6
constexpr REL::VariantID RTTI_BSScript__IVMObjectBindInterface(691834, 399878, 0x1f7cc50)
std::uint64_t VMHandle
Definition BSCoreTypes.h:7
Definition IVMObjectBindInterface.h:13
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