Exemplo n.º 1
0
        public void ReplaceCard(int index)
        {
            var card = _spawner.SpawnCard(Cards.GetCardPosition(index));

            card.Navigator  = _navigator;
            card.Dispatcher = _dispatcher;
            Cards[index]    = card;
            CardSpawned?.Invoke(card);
        }
Exemplo n.º 2
0
        private void InitializeGameField()
        {
            var heroIndex = Random.Range(0, Cards.Length);

            for (int i = 0; i < Cards.Length; i++)
            {
                // (i % sideSize) = "x" coord on game field
                // (i / sideSize) = "y" coord on game field
                var position = new Vector2(i % sideSize, (int)(i / sideSize));
                var card     = i == heroIndex?_spawner.SpawnHero(position) : _spawner.SpawnCard(position);

                // TODO: ???
                card.Navigator  = _navigator;
                card.Dispatcher = _dispatcher;
                CardSpawned?.Invoke(card);
                Cards[i] = card;
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Initialize square game field
        /// </summary>
        /// <param name="cards"></param>
        /// <param name="sideSize"></param>
        public void InitializeGameField(Card[] cards)
        {
            var sideSize = (int)Mathf.Sqrt(cards.Length);

            if (sideSize * sideSize != cards.Length)
            {
                throw new ArgumentException($"Square root of {nameof(cards)}.Lenght should be an integer");
            }

            var heroIndex = Random.Range(0, cards.Length);

            for (int i = 0; i < cards.Length; i++)
            {
                // (i % sideSize) = "x" coord on game field
                // (i / sideSize) = "y" coord on game field
                var position = new Vector2(i % sideSize, (int)(i / sideSize));
                var card     = i == heroIndex?_spawner.SpawnHero(position) : _spawner.SpawnCard(position);

                CardSpawned?.Invoke(card);
                cards[i] = card;
            }
        }