// Loads a character script. void Character::handleScript(const String &file) { lua_State *L = ScriptManager::get().getL(); bool res = false; FtsEvaluator ev(L); LuaEngine::RunFile(L, file); res = ev.evalNumber("Character.JumpForce", jump_force); res = ev.evalNumber("Character.WalkSpeed", walk_speed); double mass = 0; res = ev.evalNumber("Character.Mass", mass); double yaw = 0; res = ev.evalNumber("Character.Yaw", yaw); this->yaw = yaw; Ogre::Vector3 size; res = ev.evalVector3("Character.Size", size); double scale = 1; res = ev.evalNumber("Character.Scale", scale); node->yaw(Ogre::Degree(yaw)); node->setScale(scale, scale, scale); entity->getSkeleton()->setBlendMode(Ogre::ANIMBLEND_CUMULATIVE); btVector3 bsize(size.x, size.y, size.z); btCollisionShape *shape = &physics::ShapesManager::getInstance().getBoxShape(bsize); setCenterOffset(physics::vector3(Ogre::Vector3(0,0,0))); createBody(mass, *shape, this); LuaEngine::BeginCallEx(L, "Character.OnCreate"); LuaEngine::PushPointer(L, this, "Character *"); LuaEngine::EndCall(L, 1); }
void DiffView::setCenterLine(int lineno) { int offset; if ( (offset = findLine(lineno)) != -1) setCenterOffset(offset); }