StarCap/Shootable.h
2025-09-26 09:26:47 -06:00

47 lines
998 B
C++

//
// Created by Benjamin on 4/20/2021.
//
#ifndef SFML_TEMPLATE_SHOOTABLE_H
#define SFML_TEMPLATE_SHOOTABLE_H
#include "GameSprite.h"
#include "Ship.h"
class Ship;
class Shootable : public GameSprite {
protected:
double damage;
double range = 0;
Ship *shooter;
protected:
Shootable(const sf::Texture& texture, const sf::IntRect &rect, double scale, int rows, int cols, int xOffset, int yOffset, int frameDelay, double _damage) : GameSprite(texture, rect, rows, cols, xOffset, yOffset, frameDelay) {
damage = _damage;
setScale(scale/100, scale/100);
}
public:
Shootable() = default;
void setShooter(GameSprite* _shooter) {
shooter = reinterpret_cast<Ship *>(_shooter);
}
Ship* getShooter() {
return shooter;
}
double getDamage() const {
return damage;
}
double getRange() const {
return range;
}
};
#endif //SFML_TEMPLATE_SHOOTABLE_H