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, PhaseSplitter phaseSplitter, IResultDeterminer resultDeterminer, IModeDeterminer modeDeterminer, IReadOnlyList <IPostProcessingStep> processingSteps) { Targets = importantAgents.ToList(); Encounter = encounter; PhaseSplitter = phaseSplitter; ResultDeterminer = resultDeterminer; ModeDeterminer = modeDeterminer; ProcessingSteps = processingSteps; }
public EncounterIdentifierBuilder( Encounter defaultEncounter, List <Agent> defaultTargets, PhaseSplitter defaultPhaseSplitter, IResultDeterminer defaultResultDeterminer, IModeDeterminer defaultModeDeterminer, IEnumerable <IPostProcessingStep> defaultProcessingSteps = null ) { Encounter = defaultEncounter; Targets = defaultTargets ?? throw new ArgumentNullException(nameof(defaultTargets)); PhaseSplitter = defaultPhaseSplitter ?? throw new ArgumentNullException(nameof(defaultPhaseSplitter)); ResultDeterminer = defaultResultDeterminer ?? throw new ArgumentNullException(nameof(defaultResultDeterminer)); ModeDeterminer = defaultModeDeterminer ?? throw new ArgumentNullException(nameof(defaultModeDeterminer)); ProcessingSteps = (defaultProcessingSteps ?? Enumerable.Empty <IPostProcessingStep>()).ToList(); }
public EncounterIdentifierBuilder WithPhases(PhaseSplitter splitter) { PhaseSplitter = splitter; return(this); }