private bool RebuildSavedMine()
    {
        Debug.Log("RebuildSavedMine");
        shafts.Add(startShaft);
        if (HasSavedMine)
        {
            Debug.Log("Has saved mine");
            // default start money is 620.64
            financeManager.SetTotalMoney(GameSaveDataController.mineSaveData[mineNumber].totalMoney);
            hasNextMine = GameSaveDataController.mineSaveData[mineNumber].nextMineUnlocked;
            if (GameSaveDataController.mineSaveData[mineNumber].shaftsInMine != null)
            {
                for (int s = 0; s < GameSaveDataController.mineSaveData[mineNumber].shaftsInMine.Count; s++)
                {
                    if (GameSaveDataController.mineSaveData[mineNumber].shaftsInMine[s].nextShaftUnlocked)
                    {
                        shafts[s].ShaftManager.ResimBuildNextShaft();
                    }
                }
            }
            // need to first add shafts to work out upgrade and capacity per shaft level
            if (warehouse != null)
            {
                warehouse.GetComponent <UpgradeActorUI>().ResimUpgradeActor(GameSaveDataController.mineSaveData[mineNumber].warehouseUpgradePressCount, 0);
            }
            if (elevator != null)
            {
                elevator.GetComponent <UpgradeActorUI>().ResimUpgradeActor(GameSaveDataController.mineSaveData[mineNumber].elevatorUpgradePressCount, 0);
            }
            return(true);
        }

        else
        {
            GameSaveDataController.CreateNewMineData(gameObject.GetComponent <Mine>(), startShaft);
            GameSaveDataController.mineSaveData[mineNumber].hasSavedMine = true;
            return(false);
        }
    }