//[MenuItem("Tools/Clear PlayerPrefs")]
    //private static void ClearSavedData()
    //{
    //    PlayerPrefs.DeleteAll();
    //    Debug.Log("Cleared all saved data");
    //}

    public static void SetBuyNextShaftState(Shaft shaft)
    {
        if (mineSaveData[currentMineIndex].shaftsInMine.Any(s => s.shaftId == shaft.name))
        {
            ShaftSaveData matchingShaftData = mineSaveData[currentMineIndex].shaftsInMine
                                              .Where(s => s.shaftId == shaft.name).First();
            matchingShaftData.nextShaftUnlocked = true;
        }
    }
 public static int GetShaftSaveData(Shaft shaft)
 {
     if (mineSaveData[currentMineIndex].shaftsInMine.Any(s => s.shaftId == shaft.name))
     {
         ShaftSaveData matchingShaftData = mineSaveData[currentMineIndex].shaftsInMine
                                           .Where(s => s.shaftId == shaft.name).First();
         return(matchingShaftData.shaftUpgradePressCount);
     }
     return(0);
 }
    public static void CreateStartShaftData(Shaft start)
    {
        var shaftData = new ShaftSaveData()
        {
            shaftId = start.name,
            shaftUpgradePressCount = 0,
            nextShaftUnlocked      = false
        };

        mineSaveData[currentMineIndex].shaftsInMine.Add(shaftData);
    }
    public static void SetShaftState(Shaft shaft)
    {
        if (mineSaveData[currentMineIndex].shaftsInMine.Any(s => s.shaftId == shaft.name))
        {
            ShaftSaveData matchingShaftData = mineSaveData[currentMineIndex].shaftsInMine
                                              .Where(s => s.shaftId == shaft.name).First();
            matchingShaftData.shaftUpgradePressCount += 1;
        }

        else
        {
            // Called from Upgrade Actor UI so press count
            // should be set to one when creating new shaft save data.
            Debug.Log("creating new shaft data for " + shaft.name);
            var shaftData = new ShaftSaveData()
            {
                shaftId = shaft.name,
                shaftUpgradePressCount = 0,
                nextShaftUnlocked      = false
            };
            mineSaveData[currentMineIndex].shaftsInMine.Add(shaftData);
        }
    }