protected override SolarState DelayedNext(SolarManager manager) { if (manager.HasOutputDiminished()) { return(new SolarStateChasing()); } return(null); }
protected override SolarState DelayedNext(SolarManager manager) { if (manager.HasReachedEnd(true)) { return(new SolarStateIdlingDusk()); } else if (manager.HasOutputDiminished() || iteration++ > 1) { return(new SolarStateIdlingDay()); } return(null); }