1#include "ObjectWoodboxW.hh"
3#include "game/field/obj/ObjectWoodboxWSub.hh"
8ObjectWoodboxW::ObjectWoodboxW(
const System::MapdataGeoObj ¶ms) : ObjectCollidable(params) {
9 constexpr u16 DEFAULT_BOX_COUNT = 5;
11 ObjectCollidable::init();
13 u16 boxCount = params.setting(6);
16 boxCount = DEFAULT_BOX_COUNT;
19 m_boxes = owning_span<ObjectWoodboxWSub *>(boxCount);
21 for (
auto *&box : m_boxes) {
22 box =
new ObjectWoodboxWSub(params);
28ObjectWoodboxW::~ObjectWoodboxW() =
default;
31void ObjectWoodboxW::init() {
33 u32 frames = m_mapObj->setting(4);
35 frames = m_mapObj->setting(5);
38 m_framesUntilSpawn = frames;
43void ObjectWoodboxW::calc() {
44 if (--m_framesUntilSpawn >= 1) {
49 m_framesUntilSpawn = m_mapObj->setting(5);
50 m_boxes[m_nextBoxIdx]->enableCollision();
51 m_nextBoxIdx = (m_nextBoxIdx + 1) % m_boxes.size();