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(); }
// 시작하면 현재작업과 진행율 로드 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(); }
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); }