Exemplo n.º 1
0
 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();
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 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();
 }
Exemplo n.º 4
0
 public TransformResultDeterminer(IResultDeterminer resultDeterminer,
                                  Func <EncounterResult, EncounterResult> transformation)
 {
     this.resultDeterminer = resultDeterminer;
     this.transformation   = transformation;
 }
Exemplo n.º 5
0
 public EncounterIdentifierBuilder WithResult(IResultDeterminer determiner)
 {
     ResultDeterminer = determiner;
     return(this);
 }
 public IgnoreTimeResultDeterminerWrapper(IResultDeterminer resultDeterminer)
 {
     this.resultDeterminer = resultDeterminer;
 }