void Mob::velocityRight(const float dt) { const double rot = Math::toRads(m_sprite.getRotation() + 90); changeVelocity({0, (m_walkSpeed * (float) sin(rot)) * dt}); changeVelocity({(m_walkSpeed * (float) cos(rot)) * dt, 0}); m_isMoving = true; }
bool EnemyShip::Update(const float& dt, bool& warp, ParticleSystem& Psystem, BulletSystem& Bsystem, Spaceship* target) { changeTarget(target); turret.update(dt, shipPosition, Bsystem, (rand.RandomFloat() > 0.8)); outofBoundsCheck(Psystem, warp); changeVelocity(dt, Psystem); shipPosition = shipPosition + velocity; return (life > 0); }
bool EnemyShip::Update(const float& dt, bool& warp, ParticleSystem& Psystem, BulletSystem& Bsystem, Spaceship* target, Walls& walls) { changeTarget(target); turret.update(dt, shipPosition, Bsystem, (rand.RandomFloat() < 0.1)); outofBoundsCheck(Psystem, warp); changeVelocity(dt, Psystem); Vector2 collision = walls.getCollisionVelocity(shipPosition, velocity); if (Engine::LengthSquared(collision) != 0) { Psystem.AddParticle(new COLLISIONPARTICLE); } velocity = velocity + collision; shipPosition = shipPosition + velocity; return (life > 0); }