1#include "ObjectPsea.hh"
3#include "game/field/ObjectDirector.hh"
9 : ObjectCollidable(params), m_period(F_TAU / static_cast<f32>(CYCLE_DURATION)) {
14 m_initPosY = (m_pos + POS_OFFSET + EXTRA_OFFSET).y;
16 auto *objDir = ObjectDirector::Instance();
17 ASSERT(!objDir->psea());
18 objDir->setPsea(
this);
22ObjectPsea::~ObjectPsea() =
default;
25void ObjectPsea::calc() {
26 constexpr f32 POS_OFFSET = 9590.399f;
27 constexpr f32 AMPLITUDE = 140.0f;
31 if (CYCLE_DURATION < m_frame++) {
35 m_pos.y = m_initPosY + AMPLITUDE * sin + POS_OFFSET;
36 m_flags.setBit(eFlags::Position);