public bool TryToRemove(int value, bool saveGame)
 {
     if (Stock < value)
     {
         return(false);
     }
     Stock -= value;
     if (saveGame)
     {
         DataManager.SaveData();
     }
     AssetTag.ToAsset().ItemWasChanged(this);
     OnStockChanged?.Invoke(this, EventArgs.Empty);
     return(true);
 }
        public void Add(int value, bool addProgress, bool saveGame)
        {
            Stock += value;

            if (addProgress)
            {
                Game.GameData.gameProgress += value * progressMultiplier;
            }

            if (saveGame)
            {
                DataManager.SaveData();
            }
            AssetTag.ToAsset().ItemWasChanged(this);
            OnStockChanged?.Invoke(this, EventArgs.Empty);
        }