Esempio n. 1
0
 private void RemoveDeadTarget()
 {
     if (_currentTarget != null)
     {
         if (_currentTarget.target.isDead)
         {
             _currentTarget = null;
         }
     }
 }
Esempio n. 2
0
    private void SwitchTarget(RESULT r)
    {
        if (_unit.unitFire.isAttacking)
        {
            return;
        }

        if (_currentTarget == null)
        {
            _currentTarget = r;
        }
        else if (IsTargetInShootRange(r) && !IsTargetInShootRange(_currentTarget))
        {
            _currentTarget = r;
        }
        else if (IsTargetInCloseRange(r))
        {
            if (IsTargetInCloseRange(_currentTarget))
            {
                float n = (r.target.transform.position - _unit.transform.position).magnitude;
                float o = (_currentTarget.target.transform.position - _unit.transform.position).magnitude;
                if (n < o)
                {
                    _currentTarget = r;
                }
            }
            else
            {
                _currentTarget = r;
            }
        }
        else
        {
            /*
             *      Vector3 v1 = _currentTarget.target.transform.position - _unit.transform.position;
             *      Vector3 v2 = r.target.transform.position - _unit.transform.position;
             *      if(v2.magnitude < v1.magnitude * 0.7f)
             *      {
             *              _currentTarget = r;
             *      }
             */
        }
    }
Esempio n. 3
0
    public void RefreshTarget(DataConfig.TARGET_SELECT forceSelectType = DataConfig.TARGET_SELECT.UNKNOWN)
    {
        if (_currentTarget == null)
        {
            _refreshTimestamp = 0;
        }

        long ct = TimeHelper.GetCurrentTimestampScaled();
        long dt = ct - _refreshTimestamp;

        if (ct < REFRESH_INTERVAL * 1000)
        {
            return;
        }
        _refreshTimestamp = ct;


        UnitTargetSelect.RESULT r = Select(forceSelectType);
        if (r != null)
        {
            SwitchTarget(r);
        }
    }