protected override void Awake() { base.Awake(); lineRenderer = GetComponent <LineRenderer>(); OnPlayerOutRadius.Subscribe(() => lineRenderer.enabled = false) .AddTo(subscribers); OnPlayerInRadius.Subscribe ( () => { lineRenderer.enabled = true; lineRenderer.SetPosition(0, position); lineRenderer.SetPosition(1, playerPosition); } ).AddTo(subscribers); }
private void FixedUpdate() { position = transform.position; playerPosition = PlayerTransform.position; distanceToPlayer = playerPosition - position; if (distanceToPlayer.magnitude < minShootingDistanse) { OnPlayerInRadius.Invoke(); if (reloadingEntity.IsReloaded) { Shoot(); reloadingEntity.StartReload(this); } } else { OnPlayerOutRadius.Invoke(); } transform.rotation = distanceToPlayer.ToQuartetion(); }