Пример #1
0
        public override void SetInfo()
        {
            base.SetInfo();

            _callerPlayer = GameAction.Parameters[0] as Player;

            if (GameAction.Parameters.Length > 1)
            {
                _playedCard = GameAction.Parameters[1] as BoardCard;

                string rarity = Enum.GetName(typeof(Enumerators.CardRank),
                                             _playedCard.WorkingCard.LibraryCard.CardRank);
                string cardSetName = CardsController.GetSetOfCard(_playedCard.WorkingCard.LibraryCard);
                PreviewImage.sprite = LoadObjectsManager.GetObjectByPath <Sprite>(
                    string.Format("Images/Cards/Illustrations/{0}_{1}_{2}", cardSetName.ToLower(), rarity.ToLower(),
                                  _playedCard.WorkingCard.LibraryCard.Picture.ToLower()));

                _playedCardPreviewObject = CreateCardPreview(_playedCard.WorkingCard, Vector3.zero);
            }
        }
        public override void SetInfo()
        {
            base.SetInfo();
            _abilityOwner        = GameAction.Parameters[0];
            _usedAbility         = GameAction.Parameters[1] as AbilityData;
            _abilityValue        = (int)GameAction.Parameters[2];
            _abilityUsedOnPlayer = GameAction.Parameters[3] as Player;

            switch (_abilityOwner)
            {
            case BoardUnit unit:
                PreviewImage.sprite = unit.Sprite;
                _healCreatureObj    = CreateCardPreview(unit.Card, Vector3.zero);
                break;

            case BoardSpell spell:
            {
                string rarity      = Enum.GetName(typeof(Enumerators.CardRank), spell.Card.LibraryCard.CardRank);
                string cardSetName = CardsController.GetSetOfCard(spell.Card.LibraryCard);
                PreviewImage.sprite = LoadObjectsManager.GetObjectByPath <Sprite>(
                    string.Format("Images/Cards/Illustrations/{0}_{1}_{2}", cardSetName.ToLower(), rarity.ToLower(),
                                  spell.Card.LibraryCard.Picture.ToLower()));
                _healCreatureObj = CreateCardPreview(spell.Card, Vector3.zero);
                break;
            }
            }

            HealPictureObject.SetActive(true);

            _healedPlayerObj = CreatePlayerPreview(_abilityUsedOnPlayer, Vector3.right * 6);

            GameObject attackViewPlayer = _healedPlayerObj.transform.Find("AttackingHealth").gameObject;

            attackViewPlayer.SetActive(true);
            TextMeshPro damageText = attackViewPlayer.transform.Find("AttackText").GetComponent <TextMeshPro>();

            damageText.text = _abilityValue.ToString();
            attackViewPlayer.transform.localPosition = Vector3.up * -0.86f;
        }
        public override void SetInfo()
        {
            base.SetInfo();

            _abilityOwner        = GameAction.Parameters[0];
            _usedAbility         = GameAction.Parameters[1] as AbilityData;
            _abilityValue        = (int)GameAction.Parameters[2];
            _abilityUsedOnPlayer = GameAction.Parameters[3] as Player;

            if (_abilityOwner is BoardUnit)
            {
                PreviewImage.sprite       = (_abilityOwner as BoardUnit).Sprite;
                _attackingAbilityOwnerObj = CreateCardPreview((_abilityOwner as BoardUnit).Card, Vector3.zero);
            }
            else
            {
                string rarity = Enum.GetName(typeof(Enumerators.CardRank),
                                             (_abilityOwner as BoardSpell).Card.LibraryCard.CardRank);
                string cardSetName = CardsController.GetSetOfCard((_abilityOwner as BoardSpell).Card.LibraryCard);
                PreviewImage.sprite = LoadObjectsManager.GetObjectByPath <Sprite>(
                    string.Format("Images/Cards/Illustrations/{0}_{1}_{2}", cardSetName.ToLower(), rarity.ToLower(),
                                  (_abilityOwner as BoardSpell).Card.LibraryCard.Picture.ToLower()));
                _attackingAbilityOwnerObj = CreateCardPreview((_abilityOwner as BoardSpell).Card, Vector3.zero);
            }

            AttackingPictureObject.SetActive(true);

            _attackedPlayerObj = CreatePlayerPreview(_abilityUsedOnPlayer, Vector3.right * 6);

            GameObject cardView = _attackedPlayerObj.transform.Find("AttackingHealth").gameObject;

            cardView.SetActive(true);
            TextMeshPro damageText = cardView.transform.Find("AttackText").GetComponent <TextMeshPro>();

            damageText.text = (-_abilityValue).ToString();
            cardView.transform.localPosition = -Vector3.up;
        }
Пример #4
0
        public GameObject CreateCardPreview(WorkingCard card, Vector3 pos)
        {
            BoardCard  boardCard;
            GameObject currentBoardCard;

            CardsController.GetSetOfCard(card.LibraryCard);

            switch (card.LibraryCard.CardKind)
            {
            case Enumerators.CardKind.CREATURE:
                currentBoardCard = Object.Instantiate(CardsController.CreatureCardViewPrefab,
                                                      _reportActionPreviewPanel.transform, false);
                boardCard = new UnitBoardCard(currentBoardCard);
                break;

            case Enumerators.CardKind.SPELL:
                currentBoardCard = Object.Instantiate(CardsController.SpellCardViewPrefab,
                                                      _reportActionPreviewPanel.transform, false);
                boardCard = new SpellBoardCard(currentBoardCard);
                break;

            default:
                throw new ArgumentOutOfRangeException();
            }

            boardCard.Init(card);
            boardCard.SetHighlightingEnabled(false);
            boardCard.IsPreview = true;
            currentBoardCard.transform.localPosition = pos;
            currentBoardCard.transform.localRotation = Quaternion.Euler(Vector3.zero);
            currentBoardCard.transform.localScale    = new Vector2(.4f, .4f);
            currentBoardCard.GetComponent <SortingGroup>().sortingOrder = 1000;
            currentBoardCard.layer = LayerMask.NameToLayer("Ignore Raycast");

            return(currentBoardCard);
        }
        private void GetInfosAboutUnitsOnBoard()
        {
            foreach (Enumerators.AbilityTargetType target in TargetTypes)
            {
                switch (target)
                {
                case Enumerators.AbilityTargetType.OPPONENT_CARD:
                    _boardUnits.AddRange(GameplayManager.OpponentPlayer.BoardCards.FindAll(x => CardsController.GetSetOfCard(x.Card.LibraryCard) == SetType.ToString()));
                    break;

                case Enumerators.AbilityTargetType.PLAYER_CARD:
                    _boardUnits.AddRange(GameplayManager.CurrentPlayer.BoardCards.FindAll(x => CardsController.GetSetOfCard(x.Card.LibraryCard) == SetType.ToString()));
                    break;

                default: break;
                }
            }
        }