1#include "ObjectSniper.hh"
3#include "game/field/RailManager.hh"
8ObjectSniper::ObjectSniper()
9 : ObjectCollidable(
"MapObjSniper",
EGG::Vector3f::zero,
EGG::Vector3f::ez,
10 EGG::Vector3f::unit) {}
13ObjectSniper::~ObjectSniper() =
default;
16void ObjectSniper::init() {
17 const auto *launcherRailInterp = m_launcher->railInterpolator();
19 for (
auto &point : m_pointIdxs) {
23 auto *launcherRail = RailManager::Instance()->rail(launcherRailInterp->railIdx());
25 for (
size_t i = 0; i < m_projectiles.size(); ++i) {
26 auto *obj = m_projectiles[i];
27 m_pointIdxs[obj->idx()] = i;
28 obj->initProjectile(launcherRail->pointPos(obj->idx()));
33void ObjectSniper::calc() {
34 s32 idx = m_launcher->launchPointIdx();
37 m_projectiles[m_pointIdxs[idx]]->onLaunch();