#ifndef EDITSCENE_PREGNANCY_SYSTEM_HPP
#define EDITSCENE_PREGNANCY_SYSTEM_HPP
#pragma once

#include <flecs.h>

class CharacterRegistry;

/**
 * System that advances pregnancy progress for all female characters
 * in the CharacterRegistry and triggers birth when progression completes.
 */
class PregnancySystem {
public:
	PregnancySystem(flecs::world &world);
	~PregnancySystem();

	/** Call every frame. Advances pregnancies and triggers births. */
	void update(float deltaTime);

private:
	void advancePregnancies(float dt);
	void checkBirths();

	flecs::world &m_world;
};

#endif // EDITSCENE_PREGNANCY_SYSTEM_HPP
