public Entity DeployCard(CardType cardType, Team team, int laneIdx) { var card = GameObjectFactory.CreateCard(cardType, team); var lane = Arena.Lanes[laneIdx]; lane.AddEntity(card, team); var damageable = card.GetComponent <IDamageable>(); if (damageable != null) { GameplayHUD.CreateHealthBar(damageable, team, card.transform); } return(card); }
void Start() { var gameObjectFactory = new GameObjectFactory(cardPrefabMap, playerPrefab); var deployer = new Deployer(gameObjectFactory, arena, gameplayHUD); var gameActionFactory = new GameActionFactory(deployer); gameplayHUD.Setup(gestureRecognizer, arena); gameplayHUD.CreateCardSlots(PlayerHand.HandSize); HomePlayer = gameObjectFactory.CreatePlayer(Team.Home); VisitorPlayer = gameObjectFactory.CreatePlayer(Team.Visitor); HomePlayer.Setup(PlayerDeck.GetDummyDeck()); VisitorPlayer.Setup(PlayerDeck.GetDummyDeck()); Dealer.DealInitialCards(HomePlayer); Dealer.DealInitialCards(VisitorPlayer); matchReferee.Setup(gameActionFactory, players: new [] { HomePlayer, VisitorPlayer }); }
public Deployer(GameObjectFactory gameObjectFactory, Arena arena, GameplayHUD gameplayHUD) { GameObjectFactory = gameObjectFactory; Arena = arena; GameplayHUD = gameplayHUD; }