int LuaSyncedMoveCtrl::SetHeading(lua_State* L) { CScriptMoveType* moveType = ParseMoveType(L, __FUNCTION__, 1); if (moveType == NULL) { return 0; } const short heading = (short)luaL_checknumber(L, 2); moveType->SetHeading(heading); return 0; }
int LuaSyncedMoveCtrl::SetNoBlocking(lua_State* L) { CScriptMoveType* moveType = ParseMoveType(L, __FUNCTION__, 1); if (moveType == NULL) { return 0; } // marks or unmarks the unit on the blocking-map, but // does not change its blocking (collidable) state moveType->SetNoBlocking(luaL_checkboolean(L, 2)); return 0; }
int LuaSyncedMoveCtrl::SetRotationVelocity(lua_State* L) { CScriptMoveType* moveType = ParseMoveType(L, __FUNCTION__, 1); if (moveType == NULL) { return 0; } const float3 rotVel((float)luaL_checknumber(L, 2), (float)luaL_checknumber(L, 3), (float)luaL_checknumber(L, 4)); moveType->SetRotationVelocity(rotVel); return 0; }
int LuaSyncedMoveCtrl::SetPosition(lua_State* L) { CScriptMoveType* moveType = ParseMoveType(L, __FUNCTION__, 1); if (moveType == NULL) { return 0; } const float3 pos((float)luaL_checknumber(L, 2), (float)luaL_checknumber(L, 3), (float)luaL_checknumber(L, 4)); moveType->SetPosition(pos); return 0; }
int LuaSyncedMoveCtrl::SetRotation(lua_State* L) { CScriptMoveType* moveType = ParseMoveType(L, __FUNCTION__, 1); if (moveType == NULL) { return 0; } const float3 rot(luaL_checkfloat(L, 2), luaL_checkfloat(L, 3), luaL_checkfloat(L, 4)); ASSERT_SYNCED(rot); moveType->SetRotation(rot); return 0; }
int LuaSyncedMoveCtrl::SetRelativeVelocity(lua_State* L) { CScriptMoveType* moveType = ParseMoveType(L, __FUNCTION__, 1); if (moveType == NULL) { return 0; } const float3 relVel(luaL_checkfloat(L, 2), luaL_checkfloat(L, 3), luaL_checkfloat(L, 4)); ASSERT_SYNCED(relVel); moveType->SetRelativeVelocity(relVel); return 0; }
int LuaSyncedMoveCtrl::SetNoBlocking(lua_State* L) { CScriptMoveType* moveType = ParseMoveType(L, __FUNCTION__, 1); if (moveType == NULL) { return 0; } const int args = lua_gettop(L); // number of arguments if ((args < 2) || !lua_isboolean(L, 2)) { luaL_error(L, "Incorrect arguments to SetNoBlocking()"); } moveType->SetNoBlocking(lua_toboolean(L, 2)); return 0; }
int LuaSyncedMoveCtrl::SetPosition(lua_State* L) { CScriptMoveType* moveType = ParseScriptMoveType(L, __FUNCTION__, 1); if (moveType == NULL) return 0; const float3 pos(luaL_checkfloat(L, 2), luaL_checkfloat(L, 3), luaL_checkfloat(L, 4)); ASSERT_SYNCED(pos); moveType->SetPosition(pos); return 0; }
int LuaSyncedMoveCtrl::SetNoBlocking(lua_State* L) { CScriptMoveType* moveType = ParseMoveType(L, __FUNCTION__, 1); if (moveType == NULL) { return 0; } const int args = lua_gettop(L); // number of arguments if ((args < 2) || !lua_isboolean(L, 2)) { luaL_error(L, "Incorrect arguments to SetNoBlocking()"); } // marks or unmarks the unit on the blocking-map, but // does not change its blocking (collidable) state moveType->SetNoBlocking(lua_toboolean(L, 2)); return 0; }
int LuaSyncedMoveCtrl::SetPhysics(lua_State* L) { CScriptMoveType* moveType = ParseMoveType(L, __FUNCTION__, 1); if (moveType == NULL) { return 0; } const float3 pos((float)luaL_checknumber(L, 2), (float)luaL_checknumber(L, 3), (float)luaL_checknumber(L, 4)); const float3 vel((float)luaL_checknumber(L, 5), (float)luaL_checknumber(L, 6), (float)luaL_checknumber(L, 7)); const float3 rot((float)luaL_checknumber(L, 8), (float)luaL_checknumber(L, 9), (float)luaL_checknumber(L, 10)); moveType->SetPhysics(pos, vel, rot); return 0; }
int LuaSyncedMoveCtrl::SetPhysics(lua_State* L) { CScriptMoveType* moveType = ParseMoveType(L, __FUNCTION__, 1); if (moveType == NULL) { return 0; } const float3 pos(luaL_checkfloat(L, 2), luaL_checkfloat(L, 3), luaL_checkfloat(L, 4)); const float3 vel(luaL_checkfloat(L, 5), luaL_checkfloat(L, 6), luaL_checkfloat(L, 7)); const float3 rot(luaL_checkfloat(L, 8), luaL_checkfloat(L, 9), luaL_checkfloat(L, 10)); ASSERT_SYNCED(pos); ASSERT_SYNCED(vel); ASSERT_SYNCED(rot); moveType->SetPhysics(pos, vel, rot); return 0; }