#include "CScriptFieldsManager.h" CFunctionalScriptField::CFunctionalScriptField(GetterFunc getter, SetterFunc setter, bool readonly) : CScriptFieldBase(readonly) { Getter = std::make_unique(getter); Setter = std::make_unique(setter); } CFunctionalScriptField::CFunctionalScriptField(GetterFunc getter) : CScriptFieldBase(true) { Getter = std::make_unique(getter); } void CFunctionalScriptField::SetObject(sol::object obj) { if(Setter) { (*Setter)(obj); } }; sol::object CFunctionalScriptField::GetObject(sol::state_view s) { if(Getter) { return (*Getter)(s); } return sol::lua_nil; }