#pragma once #include "CTypedWrapableBase.h" #include "ILuaWrapable.h" #include "IBinarySerializableWrapable.h" template class CWrapable : public virtual CTypedWrapableBase, public virtual ILuaWrapable, public virtual IBinarySerializableWrapable { public: CWrapable() = default; CWrapable(const T& val) { CTypedWrapableBase::SetValue(val); } void m_setValue(const T& val) override { Value = val; } T m_getValue() const override { return Value; } T Value{}; };