// Update is called once per frame void Update() { if (_state == Enums.WarfareState.Idle) { } else if (_state == Enums.WarfareState.LookForTargetInRange) { if (_target == null || (_target != null && Vector2.Distance(transform.position, _target.transform.position) >= _range)) { LookForTargets(); } if (_target != null && Vector2.Distance(transform.position, _target.transform.position) <= _range) { _state = Enums.WarfareState.Shoot; } } else if (_state == Enums.WarfareState.Shoot) { _target.GetComponent <SpawnController>().TakeDamage(_damage); } if (_target != null && _target.activeInHierarchy == false) { _target = null; _state = Enums.WarfareState.LookForTargetInRange; } }
// Start is called before the first frame update void Start() { Instantiate(_linePrefab, transform); _state = Enums.WarfareState.LookForTargetInRange; }