//Moves the camera in front of the desired golem pedestal
    private void MoveCamera(TrueGolems.TrueGolem golemPedestal)
    {
        switch (golemPedestal)
        {
        case TrueGolems.TrueGolem.amethystGolem:
            Camera.main.transform.DOMove(amethystCamera, 2f, false).OnComplete(() => TrueGolemMorph());
            Camera.main.transform.DORotate(amethystCameraRot, 1f, RotateMode.FastBeyond360);
            break;

        case TrueGolems.TrueGolem.emeraldGolem:
            Camera.main.transform.DOMove(emeraldCamera, 2f, false).OnComplete(() => TrueGolemMorph());
            Camera.main.transform.DORotate(emeraldCameraRot, 1f, RotateMode.FastBeyond360);
            break;

        case TrueGolems.TrueGolem.rubyGolem:
            Camera.main.transform.DOMove(rubyCamera, 2f, false).OnComplete(() => TrueGolemMorph());
            Camera.main.transform.DORotate(rubyCameraRot, 1f, RotateMode.FastBeyond360);
            break;

        case TrueGolems.TrueGolem.sapphireGolem:
            Camera.main.transform.DOMove(sapphireCamera, 2f, false).OnComplete(() => TrueGolemMorph());
            Camera.main.transform.DORotate(sapphireCameraRot, 1f, RotateMode.FastBeyond360);
            break;
        }
    }
    //Determines the type of golem and where it should move to
    private void MoveGolem()
    {
        //Get type of golem in enum form
        TrueGolems.TrueGolem golemType = GetTypeOfGolem();

        //Send to desired position and move/rot camera after movement complete
        //Separate methods to allow for future polish in regards to movement individualisation
        switch (golemType)
        {
        case TrueGolems.TrueGolem.amethystGolem:
            MoveToAmethystPedestal();
            break;

        case TrueGolems.TrueGolem.emeraldGolem:
            MoveToEmeraldPedestal();
            break;

        case TrueGolems.TrueGolem.rubyGolem:
            MoveToRubyPedestal();
            break;

        case TrueGolems.TrueGolem.sapphireGolem:
            MoveToSapphirePedestal();
            break;
        }
    }
 //Unlock method
 public void UnlockTrueGolem(TrueGolems.TrueGolem golem)
 {
     if (TrueGolems.PotentialUnlockTrueGolem(golem))
     {
         Debug.Log("Unlocking true golem " + golem);
         CheckTrueGolemInitialisation();
         Debug.Log("Adding new True Golem");
         unlockedTrueGolems.Add(golem);
         AchievementManager.Get("true_golem_01");
         AchievementManager.Increment("true_golem_02");
         PersistentData.Instance.Save();
         Save();
     }
 }