Пример #1
0
    /// <summary>
    /// 协程-下一天
    /// </summary>
    /// <returns></returns>
    public IEnumerator CoroutineForNextDay()
    {
        yield return(new WaitForSeconds(animTimeForWaitNext));

        //进入下一天
        GameTimeHandler.Instance.GoToNextDay(1);
        GameTimeHandler.Instance.GetTime(out int newYear, out int newMonth, out int newDay);
        calendarView.ChangeData(newYear, newMonth, newDay);
        AudioHandler.Instance.PlaySound(AudioSoundEnum.ButtonForShow);
        //展示是否营业框
        yield return(new WaitForSeconds(animTimeForShowDialog));

        GameTimeHandler.Instance.GetTime(out int year, out int month, out int day);
        GameDataBean         gameData   = GameDataHandler.Instance.manager.GetGameData();
        List <CharacterBean> listWorker = gameData.GetAllCharacterData();

        //如果有请假的员工 新的一天结束请假
        foreach (CharacterBean itemWork in listWorker)
        {
            if (itemWork.baseInfo.GetWorkerStatus() == WorkerStatusEnum.Vacation)
            {
                itemWork.baseInfo.SetWorkerStatus(WorkerStatusEnum.Rest);
            }
        }
        FamilyDataBean familyData = gameData.GetFamilyData();

        // 第一年和第二年 第一天默认不营业
        if ((year == 221 || year == 222) && month == 1 && day == 1)
        {
            InnRest();
        }
        //如果时建设中则不营业
        else if (gameData.GetInnBuildData().listBuildDay.Count > 0)
        {
            InnRest();
        }
        //如果是结婚日
        else if (familyData.timeForMarry.year == year && familyData.timeForMarry.month == month && familyData.timeForMarry.day == day)
        {
            InnRest();
        }
        else
        {
            objDialog.SetActive(true);
            objDialog.transform.localScale = new Vector3(1, 1, 1);
            objDialog.transform.DOScale(Vector3.zero, 0.5f).From().SetEase(Ease.OutBack);
            BirthForInit();
        }
    }