/// <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);
            }
        }
    }
Exemple #2
0
    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;
    }