using System.Diagnostics; namespace Venus_Core { public enum CoolingStatu { Init, WaitCooling, Cooling, Paused, End } public enum CoolingRobotAction { Place, Pick } public class CoolingInfo { public Stopwatch CoolingStopwatch { get; set; } = new Stopwatch(); public CoolingStatu CurrentCoolingStatu { get; set; } public void WaitCooling() { CurrentCoolingStatu = CoolingStatu.WaitCooling; } public void StartCooling() { if (CurrentCoolingStatu == CoolingStatu.WaitCooling || CurrentCoolingStatu == CoolingStatu.Paused) { CurrentCoolingStatu = CoolingStatu.Cooling; CoolingStopwatch.Start(); } } public void PauseCooling() { if (CurrentCoolingStatu == CoolingStatu.Cooling) { CurrentCoolingStatu = CoolingStatu.Paused; CoolingStopwatch.Stop(); } } public void EndCooling() { CurrentCoolingStatu = CoolingStatu.End; CoolingStopwatch.Stop(); } public void ResetCooling() { CurrentCoolingStatu = CoolingStatu.Init; CoolingStopwatch.Reset(); } } public class CoolingTransferAction { public CoolingRobotAction CoolingRobotAction { get; set; } public int DestinationSlot { get; set; } public CoolingTransferAction(CoolingRobotAction coolingRobotAction, int destinationSlot) { CoolingRobotAction = coolingRobotAction; DestinationSlot = destinationSlot; } } }