public override FilteredAnleitungsschritt filter(Anleitungsschritt anleitungsschritt, Assistenzinformationen mitarbeiterinformationen) { // Just copy and pass on without filtering anything var filteredSchritt = new FilteredAnleitungsschritt(anleitungsschritt.Copy()); return(filteredSchritt); }
public override FilteredAnleitungsschritt filter(Anleitungsschritt anleitungsschritt, Assistenzinformationen mitarbeiterinfos) { // Filter out any Media that aren't Text2D objects: var filteredSchritt = new FilteredAnleitungsschritt(anleitungsschritt.Copy()); filteredSchritt.AnleitungsmediaWithInfos.RemoveAll(medium => !(medium.Anleitungsmedium is Text2D)); return(filteredSchritt); }
public override FilteredAnleitungsschritt filter(Anleitungsschritt anleitungsschritt, Assistenzinformationen mitarbeiterInfos) { // Keep track of how many times an assembly worker has worked on the same step in a row: if (mostRecentAnleitungsschritt == null) { mostRecentAnleitungsschritt = anleitungsschritt; SameSchrittAttempts = 0; } else { if (mostRecentAnleitungsschritt.Equals(anleitungsschritt)) { SameSchrittAttempts++; } else { mostRecentAnleitungsschritt = anleitungsschritt; // If new step was triggered without repeated attempts, assembly worker must be getting better: if (SameSchrittAttempts == 0) { Console.WriteLine("Mitarbeiter-Assistenzlevel dropping to " + mitarbeiterInfos.Assistenzlevel); mitarbeiterInfos.Assistenzlevel--; } else { SameSchrittAttempts = 0; } } } // If mitarbeiter worked on the same step three times, they need more assistance if (SameSchrittAttempts > 0 && SameSchrittAttempts % 3 == 0) { Console.WriteLine("Mitarbeiter-Assistenzlevel rising to " + mitarbeiterInfos.Assistenzlevel); mitarbeiterInfos.Assistenzlevel++; } // Finally, filter step based on Erfahrungsgrad: var filteredSchritt = new FilteredAnleitungsschritt(anleitungsschritt.Copy()); filteredSchritt.AnleitungsmediaWithInfos.RemoveAll(stepversion => (stepversion.Assistenzinformationen.Assistenzlevel) > mitarbeiterInfos.Assistenzlevel); return(filteredSchritt); }