예제 #1
0
파일: UserManager.cs 프로젝트: Reiie/K-K
    public IEnumerator co_Progress()
    {
        yield return new WaitForSeconds(1.0f);

        if (nowDate.Year == 2040)
        {
            nowWork = c_manager.MyMonths[nowDate.Month - 1].MyDays[nowDate.Day - 1 + c_manager.MyMonths[nowDate.Month - 1].startIndex].myWork;

                 if (nowDate.Year == 2040 && nowDate.Month == 1 && nowDate.Day == 1)
                  {
                      yesterDayWork = csWork.Work.Nowork;
                  }
                  else
                  {
                      yesterDayWork = c_manager.MyMonths[nowDate.Month - 1].MyDays[nowDate.Day - 2 + c_manager.MyMonths[nowDate.Month - 1].startIndex].myWork;
                  }

        }
        //41년
        else
        {
            nowWork = c_manager.MyMonths[nowDate.Month - 1 + 12].MyDays[nowDate.Day - 1 + c_manager.MyMonths[nowDate.Month - 1 + 12].startIndex].myWork;
                 yesterDayWork = c_manager.MyMonths[nowDate.Month - 1 + 12].MyDays[nowDate.Day - 2 + c_manager.MyMonths[nowDate.Month - 1 + 12].startIndex].myWork;
        }

        Debug.Log("어제일"+yesterDayWork);
        Debug.Log("오늘일" + nowWork);
        // 어제일과 오늘일이 다르면
        WorkCheck();
        if (yesterDayWork != nowWork)
        {
            WorkCheck();

            startValue = 0;
            endValue = 0;
            workSlider.value = 0;

            //maxLabel.text = nowWorkDay.ToString();
            WorkCount = 0;
        }

        // 오늘할일 실행
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        switch (nowWork)
        {
            case csWork.Work.Nowork:
                Debug.Log("할일없다");
                Debug.Log(stamina);
                WorkCount = 0;
                workSlider.value = 0;

                stamina = stamina + 10;
                if (stamina > 100)
                {
                    stamina = 100;
                }
                break;

            case csWork.Work.Kangnam:
                Debug.Log("강남");
                stamina = stamina - 12;
                nowWorkDay = KangNamDay;
                if (stamina <= 0)
                {
                    stamina = 0;
                }
                break;
            case csWork.Work.Kangbuk:
                stamina = stamina - 12;
                nowWorkDay = KangBukDay;
                Debug.Log("강북");
                if (stamina <= 0)
                {
                    stamina = 0;
                }
                break;
            case csWork.Work.Alba:
                stamina = stamina - 11;
                nowWorkDay = AlbaDay;
                Debug.Log("알바");
                if (stamina <= 0)
                {
                    stamina = 0;
                }
                break;
            case csWork.Work.CheonHo:
                stamina = stamina - 12;
                nowWorkDay = CheonHoDay;
                Debug.Log("천호");
                if (stamina <= 0)
                {
                    stamina = 0;
                }
                break;
            case csWork.Work.Labor:
                stamina = stamina - 12;
                nowWorkDay = LaborDay;
                Debug.Log("막노동");
                if (stamina <= 0)
                {
                    stamina = 0;
                }
                break;
            case csWork.Work.Plant:
                stamina = stamina - 15;
                nowWorkDay = PlantDay;
                Debug.Log("공장");
                if (stamina <= 0)
                {
                    stamina = 0;
                }
                break;
            case csWork.Work.Repair:
                stamina = stamina - 8;
                nowWorkDay = RepairDay;
                Debug.Log("공장");
                if (stamina <= 0)
                {
                    stamina = 0;
                }
                break;
            case csWork.Work.Rest:
                stamina = stamina + 25;
                nowWorkDay = RestDay;
                Debug.Log("휴식");
                if (stamina > 100)
                {
                    stamina = 100;
                }
                break;
            case csWork.Work.Race:
                nowWorkDay = RestDay;
                Debug.Log("레이스");
                break;
        }

        WorkCount++;
        nowLabel.text = WorkCount.ToString();
        maxLabel.text = nowWorkDay.ToString();
        // 현재 스태미나 갱신
        s_manager.checkStamina();
        ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //어제 오늘 할일 업데이트
        WorkUpdate();
        // 오늘날짜로 업데이트 - 소지골지도 업데이트
        DateLabelUpdate();
    }
예제 #2
0
파일: UserManager.cs 프로젝트: Reiie/K-K
    // 시작하면 현재작업과 진행율 로드
    public void PersentageUpdate()
    {
        if (nowDate.Year == 2040)
        {
            nowWork = c_manager.MyMonths[nowDate.Month - 1].MyDays[nowDate.Day - 1 + c_manager.MyMonths[nowDate.Month - 1].startIndex].myWork;
        }
        else
        {
            nowWork = c_manager.MyMonths[nowDate.Month - 1 + 12].MyDays[nowDate.Day - 1 + c_manager.MyMonths[nowDate.Month - 1 + 12].startIndex].myWork;
        }

        WorkCheck();
        int count = 0;
        if (nowWork != csWork.Work.Nowork)
        {
            DateTime tmp = nowDate;
            while(true)
            {

                if (tmp.Year == 2040)
                {
                    if(c_manager.MyMonths[tmp.Month - 1].MyDays[tmp.Day - 1 + c_manager.MyMonths[tmp.Month - 1].startIndex].isLastWork == 1)
                    {
                        break;
                    }
                }
                else
                {
                    if(c_manager.MyMonths[tmp.Month - 1 + 12].MyDays[tmp.Day - 1 + c_manager.MyMonths[tmp.Month - 1 + 12].startIndex].isLastWork == 1)
                    {
                        break;
                    }
                }
                tmp = tmp.AddDays(1);
                count++;
            }
        }
        WorkCount = nowWorkDay - count - 1;
        nowLabel.text = WorkCount.ToString();

        workSlider.value = ((float)WorkCount / nowWorkDay);
        maxLabel.text = nowWorkDay.ToString();
    }
예제 #3
0
    bool CheckStamina(csWork work)
    {
        DateTime nowDate   = UserManager.Instance().nowDate;
        int      myStamina = UserManager.Instance().stamina;

        Debug.Log("처음스태미나 " + myStamina);

        int myIndex        = -1;
        int workstartIndex = -1;

        //첫날 인덱스 찾기
        for (int i = 0; i < parent_month.MyDays.Count; i++)
        {
            csDay tmp = parent_month.MyDays[i];
            if (tmp.dt == nowDate)
            {
                workstartIndex = i;
                break;
            }
        }
        // 인덱스 찾기
        for (int i = 0; i < parent_month.MyDays.Count; i++)
        {
            csDay tmp = parent_month.MyDays[i];
            if (tmp.GetInstanceID() == GetInstanceID())
            {
                myIndex = i;
                break;
            }
        }

        Debug.Log("첫날인덱스 " + workstartIndex);
        Debug.Log("지금인덱스 " + myIndex);

        int nextMonthIndex = 0;

        for (int i = 0; i < 7; i++)
        {
            if ((workstartIndex + i) < 42)
            {
                csWork.Work tmpWork = csWork.Work.Nowork;
                if (work.r_Time == 1)
                {
                    if ((workstartIndex + i) == myIndex)
                    {
                        tmpWork = work.WorkName;
                    }
                    else
                    {
                        tmpWork = parent_month.MyDays[workstartIndex + i].myWork;
                    }
                }
                else if (work.r_Time == 2)
                {
                    if ((workstartIndex + i) == myIndex)
                    {
                        tmpWork = work.WorkName;
                        Debug.Log(work.WorkName);
                    }
                    else if ((workstartIndex + i) == (myIndex + 1))
                    {
                        tmpWork = work.WorkName;
                    }
                    else
                    {
                        tmpWork = parent_month.MyDays[workstartIndex + i].myWork;
                    }
                }
                Debug.Log(work.WorkName);
                switch (tmpWork)
                {
                case csWork.Work.Nowork:
                    break;

                case csWork.Work.Kangnam:
                    myStamina -= 12;
                    break;

                case csWork.Work.Kangbuk:
                    myStamina -= 12;
                    break;

                case csWork.Work.Alba:
                    myStamina -= 11;
                    break;

                case csWork.Work.CheonHo:
                    myStamina -= 12;
                    break;

                case csWork.Work.Labor:
                    myStamina -= 12;
                    break;

                case csWork.Work.Plant:
                    myStamina -= 15;
                    break;

                case csWork.Work.Repair:
                    myStamina -= 8;
                    break;

                case csWork.Work.Rest:
                    myStamina += 25;
                    break;
                }
                Debug.Log("스태미나" + myStamina);
                if (myStamina < 0)
                {
                    return(false);
                }
            }
            else if ((workstartIndex + i) >= 42)
            {
                csMonth tmp;
                if (parent_month.dt.Month == dt.Month)
                {
                    tmp = manager.MyMonths[dt.Month];
                }
                else
                {
                    tmp = manager.MyMonths[dt.Month - 1];
                }

                csWork.Work tmpWork = csWork.Work.Nowork;

                if (work.r_Time == 1)
                {
                    if ((workstartIndex + i) == myIndex)
                    {
                        tmpWork = work.WorkName;
                    }
                    else
                    {
                        tmpWork = tmp.MyDays[(42 - (parent_month.endIndex + 1)) + tmp.startIndex + nextMonthIndex].myWork;
                    }
                }
                else if (work.r_Time == 2)
                {
                    if ((workstartIndex + i) == myIndex)
                    {
                        tmpWork = work.WorkName;
                    }
                    else if ((workstartIndex + i) == (myIndex + 1))
                    {
                        tmpWork = work.WorkName;
                    }
                    else
                    {
                        tmpWork = tmp.MyDays[(42 - (parent_month.endIndex + 1)) + tmp.startIndex + nextMonthIndex].myWork;
                    }
                }
                switch (tmpWork)
                {
                case csWork.Work.Nowork:
                    break;

                case csWork.Work.Kangnam:
                    myStamina -= 12;
                    break;

                case csWork.Work.Kangbuk:
                    myStamina -= 12;
                    break;

                case csWork.Work.Alba:
                    myStamina -= 11;
                    break;

                case csWork.Work.CheonHo:
                    myStamina -= 12;
                    break;

                case csWork.Work.Labor:
                    myStamina -= 12;
                    break;

                case csWork.Work.Plant:
                    myStamina -= 15;
                    break;

                case csWork.Work.Repair:
                    myStamina -= 8;
                    break;

                case csWork.Work.Rest:
                    myStamina += 25;
                    break;
                }

                if (myStamina < 0)
                {
                    return(false);
                }

                nextMonthIndex++;
            }
        }

        return(true);
    }