public GameData CollectGameData() { GameData savingData = new GameData(); savingData.activeTiles = placementTilesHolder.CountActiveTiles(); savingData.coins = CurrencyManager.instance.GetCurrency(); savingData.currentWave = enemySpawner.CurrentWave; savingData.maxWave = enemySpawner.MaxWave; savingData.gatesHp = castle.maxHealth; savingData.upgradeSaveDatas = upgradeSystem.GetUpgradeSaveData(); savingData.towerSaveDatas = CollectTowerSaveData(); return(savingData); }