Beispiel #1
0
        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);
        }
Beispiel #2
0
        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 });
        }
Beispiel #3
0
 public Deployer(GameObjectFactory gameObjectFactory, Arena arena, GameplayHUD gameplayHUD)
 {
     GameObjectFactory = gameObjectFactory;
     Arena             = arena;
     GameplayHUD       = gameplayHUD;
 }