public PanzerBuilder(IPanzerCommander panzer) { if (panzer == null) { throw new ArgumentException("Panzer commander can't be null.", nameof(panzer)); } _panzer = new Panzer(panzer); }
public IPanzer GetPanzer(IMap map, IPanzerCommander panzer) { PanzerBuilder builder = _builderFactory.GetBuilder(panzer); builder.InitCharacteristics(); builder.InitPosition(map); var result = builder.GetResult(); (map.LocationOfForces as MapLayer <IForce>)[result.CurrentPosition.Y, result.CurrentPosition.X] = result; return(result); }
public PanzerBuilder GetBuilder(IPanzerCommander panzer) { switch (panzer.Type) { case CommanderType.ArmoredType: return(new ArmoredPanzerBuilder(panzer)); case CommanderType.FasterType: return(new FasterPanzerBuilder(panzer)); case CommanderType.PowerfulType: return(new PowerfulPanzerBuilder(panzer)); default: return(new DefaultPanzerBuilder(panzer)); } }
public FasterPanzerBuilder(IPanzerCommander panzer) : base(panzer) { }
public DefaultPanzerBuilder(IPanzerCommander panzer) : base(panzer) { }
public PowerfulPanzerBuilder(IPanzerCommander panzer) : base(panzer) { }
public Panzer(IPanzerCommander panzer) { PanzerComander = panzer; }
public ArmoredPanzerBuilder(IPanzerCommander panzer) : base(panzer) { }