void Update()
    {
        if (!_hasSpawnedCursor)
        {
            // Cursor
            _cursor = Instantiate(CursorPrefab);
            _cursor.transform.SetParent(CursorUI.transform);
            _cursor.transform.localScale = Vector3.one;
            //_cursor.GetComponent<Image>().color = _teamController.TeamColor;
            _cursorTransform = _cursor.GetComponent <RectTransform>();

            //_input.SetMousePositionOffset((new Vector2(pos.x, pos.y) - new Vector2(_input.GetMouseX(), _input.GetMouseY()))/_cursorCanvas.scaleFactor);

            _hasSpawnedCursor = true;
        }

        // Update position
        if (_playerController.IsAlive())
        {
            Vector3 pos = Camera.main.WorldToScreenPoint(transform.position);
            SetCursorPosition(new Vector2(pos.x, pos.y) + new Vector2(_input.GetMouseX(), _input.GetMouseY()));
        }
        // Or disable
        else
        {
            _cursor.SetActive(false);
        }
    }