← Back to file list Raw

src/CScriptFieldsManager.cpp

#include "CScriptFieldsManager.h"
CFunctionalScriptField::CFunctionalScriptField(GetterFunc getter, SetterFunc setter, bool readonly) : CScriptFieldBase(readonly)
{
Getter = std::make_unique<GetterFunc>(getter);
Setter = std::make_unique<SetterFunc>(setter);
}
CFunctionalScriptField::CFunctionalScriptField(GetterFunc getter) : CScriptFieldBase(true)
{
Getter = std::make_unique<GetterFunc>(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;
}