#include "game/component.hpp" #include "game/entity.hpp" Entity* SpaceshipWeaponCmpt::ShootBullet(const Point& dir) { Entity* bullet = CreateBullet(damage, owner, maxSpeed); bullet->Use()->speed = Normalize(dir) * shootSpeed; bullet->Use()->position = owner->Get()->position; return bullet; } Entity* SpaceshipWeaponCmpt::ShootMissile(const Point& dir, Entity* target) { Entity* bullet = CreateMissile(damage, owner, maxSpeed, target); if (target) { bullet->Use()->rotation = Degrees(std::acos(Dot(dir, Normalize(target->Get()->position - owner->Get()->position)))); } bullet->Use()->speed = Normalize(dir) * shootSpeed; bullet->Use()->position = owner->Get()->position; return bullet; }