#include "precompiled.h" #include "Utilities.h" namespace Rocket { namespace Core { namespace Lua { void PushVariant(lua_State* L, Variant* var) { if(var == NULL) { lua_pushnil(L); return; } Variant::Type vartype = var->GetType(); switch(vartype) { case Variant::BYTE: case Variant::CHAR: case Variant::INT: lua_pushinteger(L,var->Get()); break; case Variant::FLOAT: lua_pushnumber(L,var->Get()); break; case Variant::COLOURB: LuaType::push(L,new Colourb(var->Get()),true); break; case Variant::COLOURF: LuaType::push(L,new Colourf(var->Get()),true); break; case Variant::STRING: lua_pushstring(L,var->Get().CString()); break; case Variant::VECTOR2: //according to Variant.inl, it is going to be a Vector2f LuaType::push(L,new Vector2f(var->Get()),true); break; case Variant::VOIDPTR: lua_pushlightuserdata(L,var->Get()); break; default: lua_pushnil(L); break; } } } } }