[Feat] (MG_Util): Versioning for BindingSlot.

This commit is contained in:
BZLZHH
2026-02-03 01:49:46 +08:00
parent 5e3cb98934
commit 863aa77ff0
+6 -5
View File
@@ -145,17 +145,18 @@ namespace MobileGL {
using TargetEnum = typename ObjectType::TargetEnum; using TargetEnum = typename ObjectType::TargetEnum;
BindingSlot() : m_target((TargetEnum)0), m_boundObject(nullptr) {} BindingSlot() : m_target((TargetEnum)0), m_boundObject(nullptr) {}
explicit BindingSlot(TargetEnum target) : m_target(target), m_boundObject(nullptr) {} explicit BindingSlot(TargetEnum target) : m_target(target), m_boundObject(nullptr) {}
void Bind(SharedPtr<ObjectType> object) {
void Bind(SharedPtr<ObjectType> object) { m_boundObject = object; } m_boundObject = object;
++m_version;
}
SharedPtr<ObjectType> GetBoundObject() const { return m_boundObject; } SharedPtr<ObjectType> GetBoundObject() const { return m_boundObject; }
TargetEnum GetTarget() const { return m_target; } TargetEnum GetTarget() const { return m_target; }
Uint16 GetVersion() const { return m_version; }
private: private:
TargetEnum m_target; TargetEnum m_target;
Uint16 m_version = 0;
SharedPtr<ObjectType> m_boundObject; SharedPtr<ObjectType> m_boundObject;
}; };