using Friflo.Engine.ECS;

namespace LittleSim.Sim;

/// <summary>
/// Состояние роста растения: индекс вида в <see cref="Content.PlantSet"/>, текущая стадия и
/// накопленный возраст в игровых днях. Плоские данные — переход между стадиями и смену спрайта
/// выполняет <see cref="PlantGrowthSystem"/>, читая пороги стадий из таблицы вида.
/// </summary>
public struct PlantGrowth : IComponent
{
    /// <summary>Индекс вида растения в <see cref="Content.PlantSet"/>.</summary>
    public int Species;

    /// <summary>Текущая стадия роста (индекс в стадиях вида).</summary>
    public int Stage;

    /// <summary>Накопленный возраст в игровых днях.</summary>
    public float AgeDays;

    /// <summary>Плодородность клетки, на которой растёт растение — вход пригодности(плодородность).</summary>
    public float CellFertility;
}
