public BaseEncounter(IEnumerable <Agent> importantAgents, IEnumerable <Event> events, PhaseSplitter phaseSplitter, IResultDeterminer resultDeterminer, IEncounterNameProvider nameProvider) { ImportantEnemies = importantAgents.ToArray(); this.phaseSplitter = phaseSplitter; this.resultDeterminer = resultDeterminer; this.nameProvider = nameProvider; this.events = events as Event[] ?? events.ToArray(); }
public BaseEncounterData( Encounter encounter, IEnumerable <Agent> importantAgents, IResultDeterminer resultDeterminer, IModeDeterminer modeDeterminer, IReadOnlyList <IPostProcessingStep> processingSteps) { Targets = importantAgents.ToList(); Encounter = encounter; ResultDeterminer = resultDeterminer; ModeDeterminer = modeDeterminer; ProcessingSteps = processingSteps; }
public EncounterIdentifierBuilder( Encounter defaultEncounter, List <Agent> defaultTargets, IResultDeterminer defaultResultDeterminer, IModeDeterminer defaultModeDeterminer, IEnumerable <IPostProcessingStep> defaultProcessingSteps = null ) { Encounter = defaultEncounter; Targets = defaultTargets ?? throw new ArgumentNullException(nameof(defaultTargets)); ResultDeterminer = defaultResultDeterminer ?? throw new ArgumentNullException(nameof(defaultResultDeterminer)); ModeDeterminer = defaultModeDeterminer ?? throw new ArgumentNullException(nameof(defaultModeDeterminer)); ProcessingSteps = (defaultProcessingSteps ?? Enumerable.Empty <IPostProcessingStep>()).ToList(); }
public TransformResultDeterminer(IResultDeterminer resultDeterminer, Func <EncounterResult, EncounterResult> transformation) { this.resultDeterminer = resultDeterminer; this.transformation = transformation; }
public EncounterIdentifierBuilder WithResult(IResultDeterminer determiner) { ResultDeterminer = determiner; return(this); }
public IgnoreTimeResultDeterminerWrapper(IResultDeterminer resultDeterminer) { this.resultDeterminer = resultDeterminer; }