35 [[nodiscard]] u32 loadFlags()
const override {
42 void enterDespawned();
44 void enterHighBounce();
47 void enterDespawning() {}
49 void calcDespawned() {}
51 void calcHighBounce();
54 void calcDespawning() {}
68 void calcBounce(f32 initialVel);
70 bool isCollisionEnabled()
const {
71 return m_currentStateId == 2 || m_currentStateId == 3 || m_currentStateId == 4;
74 std::array<ObjectFireSnakeKid *, 2> m_kids;
82 static constexpr std::array<StateManagerEntry, 6> STATE_ENTRIES = {{
84 &ObjectFireSnake::calcDespawned>(0)},
86 &ObjectFireSnake::calcFalling>(1)},
88 &ObjectFireSnake::calcHighBounce>(2)},
89 {StateEntry<ObjectFireSnake, &ObjectFireSnake::enterRest, &ObjectFireSnake::calcRest>(
92 &ObjectFireSnake::calcBounce>(4)},
94 &ObjectFireSnake::calcDespawning>(5)},
97 static constexpr f32 GRAVITY = 3.0f;