Chessistics/chessistics-engine/Model/DemandState.cs

28 lines
804 B
C#
Raw Normal View History

namespace Chessistics.Engine.Model;
public class DemandState
{
public DemandDef Definition { get; }
public int ReceivedCount { get; set; }
public int MissionIndex { get; }
public DemandState(DemandDef definition, int missionIndex = 0)
{
Definition = definition;
MissionIndex = missionIndex;
ReceivedCount = 0;
}
public bool IsSatisfied => ReceivedCount >= Definition.Amount;
public Coords Position => Definition.Position;
public string Name => Definition.Name;
public CargoType Cargo => Definition.Cargo;
public int Required => Definition.Amount;
public int Deadline => Definition.Deadline;
public DemandState Clone()
{
return new DemandState(Definition, MissionIndex) { ReceivedCount = ReceivedCount };
}
}