/// <summary> /// Pause action /// </summary> /// <param name="pause"> Pause = true; Unpause = false.</param> public static void Pause(bool pause) { for (int i = 0; i < singleton.subscribers.Count; i++) { // Removing unsubbers if (singleton.subscribers[i] == null) { singleton.subscribers.RemoveAt(i); i--; continue; } // Pause action if (pause) { singleton.subscribers[i].Pause(); TimeScaleManager.SetTimeScale(0.0f); } else { singleton.subscribers[i].Unpause(); TimeScaleManager.SetTimeScale(0.0f); } } }
private IEnumerator MoveWorld() { if (moving) { yield break; } moving = true; SetAllObjectsInScene(); yield return(null); TimeScaleManager.SetTimeScale(0); var playerMoveOffset = player.position; player.position = Vector3.zero; foreach (var item in objectsInScene) { item.transform.position -= playerMoveOffset; } yield return(new WaitForEndOfFrame()); TimeScaleManager.SetTimeScale(1); moving = false; }