| 129 | } |
| 130 | |
| 131 | void LuaPushVar(lua_State* L, const PropertyVar& var) |
| 132 | { |
| 133 | switch (var.m_Type) |
| 134 | { |
| 135 | case PROPERTY_TYPE_NUMBER: |
| 136 | lua_pushnumber(L, var.m_Number); |
| 137 | break; |
| 138 | case PROPERTY_TYPE_HASH: |
| 139 | dmScript::PushHash(L, var.m_Hash); |
| 140 | break; |
| 141 | case PROPERTY_TYPE_URL: |
| 142 | { |
| 143 | dmMessage::URL* url = (dmMessage::URL*) var.m_URL; |
| 144 | dmScript::PushURL(L, *url); |
| 145 | } |
| 146 | break; |
| 147 | case PROPERTY_TYPE_VECTOR3: |
| 148 | dmScript::PushVector3(L, dmVMath::Vector3(var.m_V4[0], var.m_V4[1], var.m_V4[2])); |
| 149 | break; |
| 150 | case PROPERTY_TYPE_VECTOR4: |
| 151 | dmScript::PushVector4(L, dmVMath::Vector4(var.m_V4[0], var.m_V4[1], var.m_V4[2], var.m_V4[3])); |
| 152 | break; |
| 153 | case PROPERTY_TYPE_QUAT: |
| 154 | dmScript::PushQuat(L, dmVMath::Quat(var.m_V4[0], var.m_V4[1], var.m_V4[2], var.m_V4[3])); |
| 155 | break; |
| 156 | case PROPERTY_TYPE_BOOLEAN: |
| 157 | lua_pushboolean(L, var.m_Bool); |
| 158 | break; |
| 159 | case PROPERTY_TYPE_MATRIX4: |
| 160 | dmScript::PushMatrix4(L, dmVMath::Matrix4( |
| 161 | dmVMath::Vector4(var.m_M4[0], var.m_M4[1], var.m_M4[2], var.m_M4[3]), |
| 162 | dmVMath::Vector4(var.m_M4[4], var.m_M4[5], var.m_M4[6], var.m_M4[7]), |
| 163 | dmVMath::Vector4(var.m_M4[8], var.m_M4[9], var.m_M4[10], var.m_M4[11]), |
| 164 | dmVMath::Vector4(var.m_M4[12], var.m_M4[13], var.m_M4[14], var.m_M4[15]))); |
| 165 | break; |
| 166 | default: |
| 167 | break; |
| 168 | } |
| 169 | } |
| 170 | |
| 171 | HPropertyContainer PropertyContainerCreateFromLua(lua_State* L, int index) |
| 172 | { |
no test coverage detected