Esempio n. 1
0
    inline void crouch()
    {
        if(crouching || isInAir()) return;

        cPhys->setPos(cPhys->getPosI() + getCrouchDiffVec());
        cPhys->setHeight(toCr(fc.heightCrouching));

        crouching = true;
    }
Esempio n. 2
0
bool PxVehicleWheels::isInAir() const
{
	for(PxU32 i=0;i<mWheelsSimData.getNumWheels();i++)
	{
		if(!isInAir(i))
		{
			return false;
		}
	}
	return true;
}
Esempio n. 3
0
    inline void update(FT mFT) override
    {
        if(isInAir())
        {
            action = (body->getVelocity().y > 0) ? Action::Fall : Action::Jump;
        }
        else
        {
            action = crouching ? Action::Crouch : Action::Stand;
        }

        movStatus = (std::abs(body->getVelocity().x) < 100) ? MovStatus::Stop
                                                            : MovStatus::Move;

        if(atkDelay > 0.f)
        {
            atkStatus = AtkStatus::Attack;
            atkDelay -= mFT;
        }
        else
        {
            atkStatus = AtkStatus::Idle;
        }
    }
Esempio n. 4
0
 inline void jump()
 {
     if(isInAir() || crouching) return;
     body->applyAccel(Vec2f(0.f, -toCr(fc.jumpStrength)));
 }