Пример #1
0
    IEnumerator freezePlayer()
    {
        Debug.Log("Sleeping.....zZzZ");

        if (fillNeed.Equals(Needs.sleep))
        {
            DayNightCycle.Instance.fastForward();

            int endTimeInt = ((int)dayNightCycle.curDayTime + 2) % dayNightCycle.dayTimeCnt;
            DayNightCycle.Instance.fastForward();
            PlayerManager.Instance.freezePlayer(true);
            Debug.Log("Speedup");

            sleepingBubble.position = new Vector3(PlayerManager.Instance.transform.position.x - 0.2f, PlayerManager.Instance.transform.position.y + 1.3f, 0);
            sleepingBubble.gameObject.SetActive(true);

            yield return(new WaitUntil(() => (int)dayNightCycle.curDayTime == endTimeInt));

            sleepingBubble.gameObject.SetActive(false);

            DayNightCycle.Instance.normalTime();
            PlayerManager.Instance.freezePlayer(false);
            PlayerManager.Instance.fillUpEnergy();
        }

        if (fillNeed.Equals(Needs.hygiene))
        {
            PlayerManager.Instance.fillUpHygiene();
        }
        if (fillNeed.Equals(Needs.water))
        {
            PlayerManager.Instance.fillUpThirst();
        }

        Debug.Log("Wake Up");
    }