//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(); } }