public Ability(
     IPlayerSpriteRenderer playerSpriteRenderer,
     IOnPlayer onPlayer,
     IMousePosition mousePosition)
 {
     _playerSpriteRenderer = playerSpriteRenderer;
     _mousePosition        = mousePosition;
     _onPlayer             = onPlayer;
 }
    public void Construct(
        IPlayerWaitingTurnState playerWaitingTurnState,
        IPlayerMoveState playerMoveState,
        IPlayerAttackState playerAttackState,
        IPlayerBuildState playerBuildState,
        IPlayerShopingState playerShopingState,
        IPlayerMoney playerMoney,
        IPlayerMovement playerMovement,
        IPlayerSpriteRenderer spriteRenderer,
        IGameMap gameMap,
        IMouse mouse)
    {
        _playerWaitingTurnState = playerWaitingTurnState;
        _playerMoveState        = playerMoveState;
        _playerAttackState      = playerAttackState;
        _playerBuildState       = playerBuildState;
        _playerShopingState     = playerShopingState;

        _playerMovement = playerMovement;
        _spriteRenderer = spriteRenderer;
        _playerMoney    = playerMoney;
        _gameMap        = gameMap;
        _mouse          = mouse;
    }
 public GameMap(IPlayerCollisions playerCollisions, IPlayerSpriteRenderer playerSpriteRenderer)
 {
     _playerCollisions     = playerCollisions;
     _playerSpriteRenderer = playerSpriteRenderer;
     _bounds = Get();
 }