Ejemplo n.º 1
0
        void OnTriggerStay(Collider hitCol)
        {
            if (_targetUnit != null)
            {
                return;
            }

            var character = hitCol.GetComponent <ICharacterUnit>();

            if (character == null)
            {
                return;
            }

            if (character is EnemyUnitBase)
            {
                _targetUnit = character as EnemyUnitBase;
            }
        }
Ejemplo n.º 2
0
        protected override void OnUpdate()
        {
            base.OnUpdate();
            if (_targetUnit != null)
            {
                ChaseTarget();
            }

            Vector3 diff = transform.position - _playerUnit.transform.position;

            if (diff.sqrMagnitude > _maxDistance * _maxDistance)
            {
                transform.position = _playerUnit.transform.position + _maxDistance * diff.normalized;
            }

            //Reset
            _attackWaitTime -= Time.deltaTime;
            _targetUnit      = TapTargetManager.instance.TargetEnemy as EnemyUnitBase;
        }