35 [[nodiscard]] u32 loadFlags()
const override {
42 void enterDespawned();
44 void enterHighBounce();
47 void enterDespawning() {}
49 void calcDespawned() {}
51 void calcHighBounce();
54 void calcDespawning() {}
58 void calcBounce(f32 initialVel);
60 bool isCollisionEnabled()
const {
61 return m_currentStateId == 2 || m_currentStateId == 3 || m_currentStateId == 4;
64 std::array<ObjectFireSnakeKid *, 2> m_kids;
78 static constexpr std::array<StateManagerEntry, 6> STATE_ENTRIES = {{
80 &ObjectFireSnake::calcDespawned>(0)},
82 &ObjectFireSnake::calcFalling>(1)},
84 &ObjectFireSnake::calcHighBounce>(2)},
85 {StateEntry<ObjectFireSnake, &ObjectFireSnake::enterRest, &ObjectFireSnake::calcRest>(
88 &ObjectFireSnake::calcBounce>(4)},
90 &ObjectFireSnake::calcDespawning>(5)},
93 static constexpr f32 GRAVITY = 3.0f;