public void Execute(float deltaTime) { Vector3 position = new Vector3(); _input.GetMousePosition(ref position); Ray ray = _camera.ScreenPointToRay(position); if (!Physics.Raycast(ray, out RaycastHit hit)) { return; } if (_input.IsLeftMouseClicked()) { if (hit.collider.gameObject.CompareTag("Enemy")) { _managedPerson.HitToPoint(hit.point); } else if (hit.collider.gameObject.CompareTag("Loot")) { _managedPerson.TakeLoot(hit.point); } else { GoToPoint(hit.point); } } Current_Point?.Invoke(hit.point); }