mirror of
https://github.com/devZoGok/PlanetFleet.git
synced 2026-08-27 03:53:33 +00:00
29 lines
1.2 KiB
C++
Executable File
29 lines
1.2 KiB
C++
Executable File
#include"Cruiser.h"
|
|
#include"CruiserData.h"
|
|
#include"GuidedMissile.h"
|
|
#include"util.h"
|
|
#include"ProjectileData.h"
|
|
|
|
using namespace game::core;
|
|
using namespace irr::core;
|
|
using namespace game::util;
|
|
|
|
namespace game{
|
|
namespace content{
|
|
Cruiser::Cruiser(GameManager *gM, Player *player, vector3df pos, int id) : Vessel(gM, player, pos, id) {
|
|
guidedMissiles = unitData::maxGuidedMissiles[id];
|
|
}
|
|
|
|
void Cruiser::launch(Order order) {
|
|
if (guidedMissiles > 0) {
|
|
float angle = getAngleBetween(*order.targetPos[0], dirVec);
|
|
quaternion rotQuat = rotQuat.fromAngleAxis(dirVec.X < 0 ? angle : -angle, vector3df(0, 1, 0));
|
|
vector3df basePos = leftVec * projectileData::pos[getId()][1][guidedMissiles - 1].X + upVec * projectileData::pos[getId()][1][guidedMissiles - 1].Y - dirVec * projectileData::pos[getId()][1][guidedMissiles - 1].Z;
|
|
addProjectile(new GuidedMissile(gameManager, this, pos + basePos, *order.targetPos[0], rotQuat * vector3df(0, 1, 0), rotQuat * vector3df(1, 0, 0), rotQuat * vector3df(0, 0, -1), getId(), 1, 0));
|
|
removeOrder(0);
|
|
// guidedMissiles--;
|
|
}
|
|
}
|
|
}
|
|
}
|