public static void AddressingLevelCompleted(uint levelNum, Transform measure, AddressingController lm) { //measure.parent = Instance.gameObject.transform; //measure.position = new Vector3(measure.position.x, measure.position.y, -6f); HttpWriter.Flush(); Logger.Instance.LogAction("LevelSelection", "Level Completed", (LevelsCompleted + 1).ToString()); LevelHasStarted = false; bool needsNewAudio = MeasureIsLocked(levelNum - 1); bool isBonusLevel = (levelNum % 3) == 0 || Instance.DebugBonus; LevelsCompleted = levelNum; UpdateHeader(levelNum); UpdateHeader(levelNum + 1); if (needsNewAudio) { Instance.StartCoroutine(LoadNewAudio(levelNum - 1)); } Instance.StartCoroutine(DropLevelSelectionGrid(measure, lm, null)); Instance.StartCoroutine(ReplaceMeasure(measure, isBonusLevel)); }
public static void AddressingLevelCompleted(uint levelNum, Transform measure, AddressingController lm) { //measure.parent = Instance.gameObject.transform; //measure.position = new Vector3(measure.position.x, measure.position.y, -6f); HttpWriter.Flush(); Logger.Instance.LogAction("LevelSelection", "Level Completed", (LevelsCompleted + 1).ToString()); LevelHasStarted = false; bool needsNewAudio = MeasureIsLocked(levelNum - 1); bool isBonusLevel = (levelNum % 3) == 0 || Instance.DebugBonus; LevelsCompleted = levelNum; UpdateHeader(levelNum); UpdateHeader(levelNum + 1); if (needsNewAudio) { Instance.StartCoroutine(LoadNewAudio(levelNum - 1)); } Instance.StartCoroutine(DropLevelSelectionGrid(measure, lm, null)); Instance.StartCoroutine(ReplaceMeasure(measure, isBonusLevel)); }
/** Drop the level selection grid into place above a level scene has been completed. **/ private static IEnumerator DropLevelSelectionGrid(Transform measure, AddressingController lma, LevelManager lm) { //yield return float t; float currentTime = 0f; float moveTime = Instance.LevelSelectionGridDropTime; Transform transform = Instance.transform; Vector3 startPosition = transform.position; Vector3 destPosition = Vector3.zero; Instance.ScrollBar.gameObject.SetActive(true); while (currentTime <= moveTime) { t = currentTime / moveTime; t = t * t * t * (t * (6f * t - 15f) + 10f); transform.position = Vector3.Lerp(startPosition, destPosition, t); Instance.UpdateScrollbarValue(); yield return(new WaitForEndOfFrame()); currentTime += Time.deltaTime; } transform.position = destPosition; Instance.UpdateScrollbarValue(); if (lm != null) { lm.ClearBackground(); } else if (lma != null) { lma.ClearBackground(); } RestoreEventSystem(); Logger.Instance.LogAction("LevelSelection", "Level Selection Screen Showing", (LevelsCompleted + 1).ToString()); }
// Use this for initialization void Start() { addressingController = LevelController.GetComponent <AddressingController>(); }
/** Drop the level selection grid into place above a level scene has been completed. **/ private static IEnumerator DropLevelSelectionGrid(Transform measure, AddressingController lma, LevelManager lm) { //yield return float t; float currentTime = 0f; float moveTime = Instance.LevelSelectionGridDropTime; Transform transform = Instance.transform; Vector3 startPosition = transform.position; Vector3 destPosition = Vector3.zero; Instance.ScrollBar.gameObject.SetActive(true); while (currentTime <= moveTime) { t = currentTime / moveTime; t = t * t * t * (t * (6f * t - 15f) + 10f); transform.position = Vector3.Lerp(startPosition, destPosition, t); Instance.UpdateScrollbarValue(); yield return new WaitForEndOfFrame(); currentTime += Time.deltaTime; } transform.position = destPosition; Instance.UpdateScrollbarValue(); if (lm != null) { lm.ClearBackground(); } else if (lma != null) { lma.ClearBackground(); } RestoreEventSystem(); Logger.Instance.LogAction("LevelSelection", "Level Selection Screen Showing", (LevelsCompleted + 1).ToString()); }