This repository has been archived on 2025-06-06. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
LotoStatek/sources/Actor.cpp
Andrii Solianyk fdf67f4bc2 Merge remote-tracking branch 'origin/serduszka'
# Conflicts:
#	CMakeLists.txt
#	headers/Actor.h
#	headers/Plansza.h
#	headers/Player.h
#	sources/Plansza.cpp
#	sources/Player.cpp
2024-12-13 19:48:39 +01:00

61 lines
1.4 KiB
C++

#include "../headers/Actor.h"
#include <iostream>
Actor::Actor(int x, int y, const sf::Texture& texture) {
actorSprite.setTexture(texture);
position.x = x;
position.y = y;
actorSprite.setOrigin(actorSprite.getLocalBounds().width / 2, actorSprite.getLocalBounds().height / 2); // wycentrowanie sprite
actorSprite.setPosition(float(x), float(y));
}
sf::Sprite &Actor::getSprite() {
if (!actorSprite.getTexture()) {
std::cerr << "actorSprite has no texture set!" << std::endl;
}
return actorSprite;
}
Position Actor::getPosition() {
return {position.x, position.y};
}
unsigned int Actor::getHP() {
return hp;
}
void Actor::dealDamage() {
if(damageDealClock.getElapsedTime().asSeconds() > 1.5) {
if(hp > 0) {
hp--;
}
damageDealClock.restart();
}
}
void Actor::healUP() {
if(hp < 3){
hp++;
}
}
std::vector<Bullet> &Actor::getBullets() {
return bullets;
}
void Actor::updateBullets() {
for (auto it = bullets.begin(); it != bullets.end(); ) {
if (it->isOutOfBounds()) {
it = bullets.erase(it); // Usuwa element i zwraca iterator na następny element
} else {
++it; // Przechodzi do następnego elementu
}
}
//std::cout << "Liczba pociskow: " << bullets.size() << std::endl;
}
void Actor::setMovingSpeed(float speed) {
moving_speed = speed;
}