示例#1
0
        /// <summary>
        /// Векторные вычисления
        /// </summary>
        protected override void VectorCalculating()
        {
            enemyTemp = GameObjectsTransformFinder.IsEnemyIntoTarget(transform);
            if (enemyTemp != null && enemyTemp.GetComponent <EnemyAbstract>().IsAlive)
            {
                if (enemyTemp.GetComponent <EnemyAbstract>().
                    EnemyDamage(_parentObject.GetComponent <PlayerAbstract>().gameObject,
                                _parentObject.GetComponent <PlayerAbstract>().PlayerType, _dmgBullet, 1) != 0 &&
                    _countOfPenetrations > 0)
                {
                    //Debug.Log("Снижено");
                    _countOfPenetrations--;
                }
                else
                {
                    if (_isClustered)
                    {
                        _cluster.transform.position = transform.position;
                        CmdInstantiate(_cluster);

                        Destroy(gameObject);
                    }
                    else
                    {
                        Destroy(gameObject);
                    }
                }
            }
        }
示例#2
0
 /// <summary>
 /// Векторные вычисления
 /// </summary>
 protected virtual void VectorCalculating()
 {
     enemyTemp = GameObjectsTransformFinder.IsEnemyIntoTarget(transform);
     if (enemyTemp != null && enemyTemp.GetComponent <EnemyAbstract>().IsAlive)
     {
         enemyTemp.GetComponent <EnemyAbstract>()
         .EnemyDamage(_parentObject.GetComponent <PlayerAbstract>()
                      .gameObject, _parentObject.GetComponent <PlayerAbstract>().PlayerType, _dmgForCluster, 1);
         Destroy(gameObject);
     }
 }
示例#3
0
        /// <summary>
        /// Проверяем, столкнулся ли враг с башней
        /// </summary>
        /// <param name="collision"></param>
        private void FixedUpdate()
        {
            if (!isServer)
            {
                return;
            }

            enemyIntoTower = GameObjectsTransformFinder.IsEnemyIntoTarget();
            if (enemyIntoTower != null)
            {
                HpTower -= 1;
                Timing.RunCoroutine(RedColorHp());
                enemyIntoTower.GetComponent <EnemyAbstract>().CmdDead();
            }
        }
示例#4
0
 /// <summary>
 /// Векторные вычисления
 /// </summary>
 protected override void VectorCalculating()
 {
     enemyTemp = GameObjectsTransformFinder.IsEnemyIntoTarget(transform);
     if (enemyTemp != null)
     {
         if (_can)
         {
             CmdBurner(_burningTime);
         }
         else if (enemyTemp.GetComponent <EnemyAbstract>().IsAlive)
         {
             enemyTemp.GetComponent <EnemyAbstract>().
             EnemyDamageSafe(playerHelperInstance, typeUnit, _dmgPerSec, 2);
         }
     }
 }
示例#5
0
 /// <summary>
 /// Векторные вычисления
 /// </summary>
 protected override void VectorCalculating()
 {
     enemyTemp = GameObjectsTransformFinder.IsEnemyIntoTarget(transform);
     if (enemyTemp != null && enemyTemp.GetComponent <EnemyAbstract>().IsAlive)
     {
         enemyTemp.GetComponent <EnemyAbstract>()
         .EnemyDamage(_parentObject.GetComponent <PlayerAbstract>().gameObject, _parentObject.GetComponent <PlayerAbstract>().PlayerType,
                      rnd.Next(_damage - (_damage / 3), _damage + (_damage / 3)), 1);
         if (_isClustered)
         {
             Destroy(gameObject);
             CmdInstantiate();
         }
         else
         {
             Destroy(gameObject);
         }
         _parentObject.GetComponent <LiteStaticTurrel>().MineCounter--;
     }
 }