コード例 #1
0
    private void UseCard(BaseCard card, int x, int y)
    {
        card.UseCard(TurnManager.CurrentPlayer, new MapPosition(x, y));

        if (card.AnimationName != null)
        {
            GameObject dummy         = Instantiate(AnimationDummyPrefab);
            Animator   dummyAnimator = dummy.GetComponent <Animator>();

            dummyAnimator.Play(card.AnimationName);

            dummy.transform.position = CombatManager.GridToWorld(new MapPosition(x, y));
        }
    }
コード例 #2
0
    private void HitOnBody()
    {
        _gameController.SetGamesState(GameState.PlayerAttack);
        _currentTime = 0;

        switch (_enemy.EnemyType)
        {
        case EnemyType.Shark:

            int damage = 0;

            if (_cardController.ActiveCard != null)
            {
                switch (_cardController.ActiveCard.CardType)
                {
                case CardType.HP:
                    damage = _player.CountDamage(_enemy._probabilityOnBody, 0, 0);
                    break;

                case CardType.HP2:
                    damage = _player.CountDamage(_enemy._probabilityOnBody, 0, 0);
                    break;

                //case CardType.King:
                //    break;
                case CardType.Octosmash:
                    damage = _player.CountDamage(_enemy._probabilityOnBody, -0.5f, 5);
                    _cardController.RemoveActiveCArd();
                    _ui.CloseActiveCard();
                    break;

                case CardType.Octosmash2:
                    damage = _player.CountDamage(_enemy._probabilityOnBody, -1f, 10);
                    _cardController.RemoveActiveCArd();
                    _ui.CloseActiveCard();
                    break;

                case CardType.Octosmash3:
                    damage = _player.CountDamage(_enemy._probabilityOnBody, -1.5f, 15);
                    _cardController.RemoveActiveCArd();
                    _ui.CloseActiveCard();
                    break;

                case CardType.Random:
                    BaseCard temp = _cardController.CreateRandomCard();

                    if (temp != null)
                    {
                        switch (temp.CardType)
                        {
                        case CardType.HP:
                            damage = _player.CountDamage(_enemy._probabilityOnBody, 0, 0);
                            temp.UseCard();
                            break;

                        case CardType.HP2:
                            damage = _player.CountDamage(_enemy._probabilityOnBody, 0, 0);
                            temp.UseCard();
                            break;

                        //case CardType.King:
                        //    break;
                        case CardType.Octosmash:
                            damage = _player.CountDamage(_enemy._probabilityOnBody, -0.5f, 5);
                            _cardController.RemoveActiveCArd();
                            temp.UseCard();
                            _ui.CloseActiveCard();
                            break;

                        case CardType.Octosmash2:
                            damage = _player.CountDamage(_enemy._probabilityOnBody, -1f, 10);
                            _cardController.RemoveActiveCArd();
                            temp.UseCard();
                            _ui.CloseActiveCard();
                            break;

                        case CardType.Octosmash3:
                            damage = _player.CountDamage(_enemy._probabilityOnBody, -1.5f, 15);
                            _cardController.RemoveActiveCArd();
                            temp.UseCard();
                            _ui.CloseActiveCard();
                            break;

                        case CardType.Watch:
                            damage = _player.CountDamage(_enemy._probabilityOnBody, 3f, -4);
                            _cardController.RemoveActiveCArd();
                            temp.UseCard();
                            _ui.CloseActiveCard();
                            break;

                        case CardType.Watch2:
                            damage = _player.CountDamage(_enemy._probabilityOnBody, 6, -8);
                            _cardController.RemoveActiveCArd();
                            temp.UseCard();
                            _ui.CloseActiveCard();
                            break;
                            //case CardType.Aquaman:
                            //    break;
                        }
                    }
                    break;

                case CardType.Watch:
                    damage = _player.CountDamage(_enemy._probabilityOnBody, 3f, -4);
                    _cardController.RemoveActiveCArd();
                    _ui.CloseActiveCard();
                    break;

                case CardType.Watch2:
                    damage = _player.CountDamage(_enemy._probabilityOnBody, 6, -8);
                    _cardController.RemoveActiveCArd();
                    _ui.CloseActiveCard();
                    break;
                    //case CardType.Aquaman:
                    //    break;
                }
            }
            else
            {
                damage = _player.CountDamage(_enemy._probabilityOnBody, 0, 0);
            }

            if (damage != 0)
            {
                damage = damage * _damageOnBody;
                _enemy.SetDamage(damage);
                _ui.Text("-" + damage.ToString(), _enemy.transform.position, false);
            }
            else
            {
                _ui.Text("MISS", _enemy.transform.position, false);
            }

            break;

            //int damage = _player.CountDamage(_enemy._probabilityOnBody);

            //if (damage != 0)
            //{
            //    damage = damage * _damageOnBody;
            //    _enemy.SetDamage(damage);
            //    _ui.Text("-" + damage.ToString(), _enemy.transform.position, false);
            //}
            //else
            //{
            //    _ui.Text("MISS", _enemy.transform.position, false);
            //}

            break;
        }
    }