public static PlayerData LoadData()
    {
        PlayerLogicBehaviour player = PlayerLogicBehaviour.Instance;

        int hitpoints       = PlayerPrefs.GetInt("hitpoints", player.hitpointsDefaultValue);
        int bombsCapacity   = PlayerPrefs.GetInt("bombsCapacity", player.bombsCapacityDefaultValue);
        int explosionRange  = PlayerPrefs.GetInt("explosionRange", player.explosionRangeDefaultValue);
        int explosionDamage = PlayerPrefs.GetInt("explosionDamage", player.explosionDamageDefaultValue);

        PlayerData data = new PlayerData()
        {
            Hitpoints       = hitpoints,
            BombsCapacity   = bombsCapacity,
            ExplosionRange  = explosionRange,
            ExplosionDamage = explosionDamage,
        };

        return(data);
    }
    private void Update()
    {
        player = PlayerLogicBehaviour.Instance;

        if (player)
        {
            hitpointsIndicatorText.SetText(player.Hitpoints.ToString());

            if (player.Hitpoints == 1)
            {
                hitpointsIndicatorText.color = criticalHitpointsValueTextColor;
            }
            else
            {
                hitpointsIndicatorText.color = Color.white;
            }

            bombsCapacityIndicatorText.SetText(player.BombsCapacity.ToString());
            explosionRangeIndicatorText.SetText(player.ExplosionRange.ToString());
            explosionDamageIndicatorText.SetText(player.ExplosionDamage.ToString());
            speedIndicatorText.SetText(player.Speed.ToString());
        }
    }
    protected override void OnCantMove <T>(T component)
    {
        PlayerLogicBehaviour player = component as PlayerLogicBehaviour;

        enemyLogic.HitPlayer(player);
    }