virtual void update()override { for (auto& uni : m_units) { uni.update(); //言ったりきたり if (uni.getProgressRate() == 1.0) { if (m_leftPos.distanceFrom(uni.m_pos) > m_rightPos.distanceFrom(uni.m_pos)) { uni.setPath(m_leftPos); } else { uni.setPath(m_rightPos); } } } switch (m_state.m_state) { case 0: { const bool finish = AllOf(m_units, [](const BossUnitBase& unit){ return unit.m_shot->isFinished(); }); if (finish) { m_state.nextState(120); } break; } case 1: if (m_state.isFinished()) { m_isFinish = true; } break; case 2: break; default: break; } m_state.update(); }