private IEnumerator TransitionFromFlowerGarden(FlowerGarden flowerGarden) { State = SceneState.TransitioningTo; Alice = flowerGarden.Alice; MainCamera = flowerGarden.MainCamera; GradientSkybox = flowerGarden.GradientSkybox; while (flowerGarden.State != SceneState.Complete) { yield return(new WaitForEndOfFrame()); } GradientSkybox.ChangeColor(1, Ground); GradientSkybox.ChangeColor(2, Sky); GradientSkybox.ChangeIntensity(1, 3); Alice.Animator.SetBool("IsMoving", false); ActivateObjects(); Star = SceneObjects[2]; Star.SetActive(false); Joker.StartCoroutine(Joker.MoveTo(Joker.transform.position + new Vector3(0, 0, 5))); Joker.StartCoroutine(Joker.LookAt(Alice.transform.position, Vector3.up)); while (Joker.IsMoving) { yield return(new WaitForEndOfFrame()); } MainCamera.StartCoroutine(MainCamera.Follow(Alice.gameObject, PositionOffsets[0])); MainCamera.StartCoroutine(MainCamera.Track(Alice.gameObject, LookPositionOffsets[0])); State = SceneState.Active; StartCoroutine(Game()); }
public void FlowerGardenTest(int[] height, int[] bloom, int[] wilt, int[] expectedOrdering) { var fg = new FlowerGarden(); var actualOrdering = fg.GetOrdering(height, bloom, wilt); CollectionAssert.AreEqual(expectedOrdering, actualOrdering); }