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)); } }
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; } }