コード例 #1
0
ファイル: character.cpp プロジェクト: jonan/freedom-to-smash
// 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);
}
コード例 #2
0
ファイル: diffview.cpp プロジェクト: ShermanHuang/kdesdk
void DiffView::setCenterLine(int lineno)
{
    int offset;
    if ( (offset = findLine(lineno)) != -1)
        setCenterOffset(offset);
}