// Update is called once per frame protected virtual void Update() { if (unit != null) { Transform t = unit.GetWeaponTarget(); if (t != null && CanFire(t.position)) { Fire(t); } } }