public static void Run() { Console.WriteLine("*FACTORY METHOD*"); Console.WriteLine(); var knightFactory = new KnightFactory(); var archerFactory = new ArcherFactory(); var army = new List <IFighter> { GetFighter(knightFactory), GetFighter(archerFactory) }; army.ForEach(f => f.Attack()); Console.WriteLine(); Console.WriteLine("*ABSTRACT FACTORY*"); Console.WriteLine(); var humanBarracks = new HumanBarracks(); var orcBarracks = new OrcBarracks(); var humanCommander = new Commander(humanBarracks); var orcCommander = new Commander(orcBarracks); humanCommander.RecruitArmy(); orcCommander.RecruitArmy(); humanCommander.LaunchAttack(); orcCommander.LaunchAttack(); }
public StandardBoardBuilder(BoardTexturePack boardTextures, PieceTexturePack pieceTextures) { BoardTextures = boardTextures; PieceTextures = pieceTextures; WhitePawnFactory = new PawnFactory(Alliance.White, pieceTextures.WhitePawn); WhiteKnightFactory = new KnightFactory(Alliance.White, pieceTextures.WhiteKnight); WhiteBishopFactory = new BishopFactory(Alliance.White, pieceTextures.WhiteBishop); WhiteRookFactory = new RookFactory(Alliance.White, pieceTextures.WhiteRook); WhiteQueenFactory = new QueenFactory(Alliance.White, pieceTextures.WhiteQueen); WhiteKingFactory = new KingFactory(Alliance.White, pieceTextures.WhiteKing); BlackPawnFactory = new PawnFactory(Alliance.Black, pieceTextures.BlackPawn); BlackKnightFactory = new KnightFactory(Alliance.Black, pieceTextures.BlackKnight); BlackBishopFactory = new BishopFactory(Alliance.Black, pieceTextures.BlackBishop); BlackRookFactory = new RookFactory(Alliance.Black, pieceTextures.BlackRook); BlackQueenFactory = new QueenFactory(Alliance.Black, pieceTextures.BlackQueen); BlackKingFactory = new KingFactory(Alliance.Black, pieceTextures.BlackKing); BasicTileFactory = new BasicTileFactory(); WhitePawnPromotionTileFactory = new PawnPromotionTileFactory(Alliance.White, WhiteQueenFactory); BlackPawnPromotionTileFactory = new PawnPromotionTileFactory(Alliance.Black, BlackQueenFactory); }