Ejemplo n.º 1
0
    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();
    }