#pragma once #include "ILuaWrapableBase.h" #include "CTypedWrapableBase.h" #include "U_Scripting.h" template class ILuaWrapable : public virtual ILuaWrapableBase, public virtual CTypedWrapableBase { public: void SetFromLua(sol::object obj) override { CTypedWrapableBase::SetValue(ScriptUtils::FromObject(obj)); } sol::object ConvertToLua(sol::state_view state) override { return ScriptUtils::ToObject(CTypedWrapableBase::GetValue(), state); } };