public CombatFactory(PlayerModels.PlayerModel playerModel, string map, Func <int> randomNumberGenerator, Func <float> initiativeCalculator, Action onGameOver, Action onUpdate, Action <CombatEndType> onCombatComplete)
 {
     this.playerModel           = playerModel;
     this.map                   = map;
     this.randomNumberGenerator = randomNumberGenerator;
     this.initiativeCalculator  = initiativeCalculator;
     this.onGameOver            = onGameOver;
     this.onUpdate              = onUpdate;
     this.onCombatComplete      = onCombatComplete;
 }
 public CombatFactory(PlayerModels.PlayerModel playerModel, string map, Func<int> randomNumberGenerator, Func<float> initiativeCalculator, Action onGameOver, Action onUpdate, Action<CombatEndType> onCombatComplete)
 {
     this.playerModel = playerModel;
     this.map = map;
     this.randomNumberGenerator = randomNumberGenerator;
     this.initiativeCalculator = initiativeCalculator;
     this.onGameOver = onGameOver;
     this.onUpdate = onUpdate;
     this.onCombatComplete = onCombatComplete;
 }
 public CombatDirector(PlayerModels.PlayerModel playerModel, string initialMap, Func <int> randomNumberGenerator, Func <float> initiativeCalculator, Action onGameOver, Action onUpdate, Action <CombatEndType> onCombatComplete)
 {
     factory = new LiveImplementation.CombatFactory(playerModel, initialMap, randomNumberGenerator, initiativeCalculator, onGameOver, onUpdate, onCombatComplete);
 }