This commit is contained in:
j3d1 2022-03-09 00:56:20 +01:00
parent fb73ec7c7f
commit e1a41a526d
8 changed files with 38 additions and 33 deletions

View file

@ -19,6 +19,7 @@ namespace game {
state->generateId(),
player,
player->ship->position,
player->color,
-util::deg2rad(m_angle),
0.005*player->speed);

View file

@ -11,9 +11,10 @@
#include <glm/gtx/norm.hpp>
namespace game {
Missile::Missile(size_t id, Player *player, const glm::vec2 &pos, float angle, float speed)
Missile::Missile(size_t id, Player *player, const glm::vec2 &pos, const glm::vec3 &col, float angle, float speed)
: Object(id, pos)
, player(player)
, color(col)
{
velocity = speed * glm::vec2(std::sin(angle), std::cos(angle));

View file

@ -58,7 +58,7 @@ namespace game {
size_t planetId;
};
Missile(size_t id, Player *player, const glm::vec2 &pos, float angle, float speed);
Missile(size_t id, Player *player, const glm::vec2 &pos, const glm::vec3 &col, float angle, float speed);
~Missile();
// try to advance. if something will be hit, return the first hit in
@ -68,6 +68,7 @@ namespace game {
Player *player; // owner won't be hit by own missiles
glm::vec2 velocity;
Trace *trace;
glm::vec3 color;
};
}

View file

@ -164,10 +164,10 @@ namespace game {
Player *player = playerForId(playerId);
if (player != nullptr) {
for (Missile *missile : player->missiles) {
player->missiles.remove(missile);
player->missiles.remove(missile);
missile->player = nullptr;
m_nextEvents.push_back(new MissileEvent(LifeCycle::Destroy, missile));
}
}
if (player->ship != nullptr) {
ships.remove(player->ship);