Пример #1
0
 //目前不只是制作,还有很多别的跟事件相关的功能都写在这儿
 public void Produce()
 {
     if (canWork == true)
     {
         if (Failed == false)
         {
             if (CurrentTask != null && TaskChange == false)
             {
                 int Pp = CountProducePower(CurrentTask.Num);
                 CurrentTask.Progress += Pp;
                 if (CurrentTask.Progress >= StandardProducePoint * 4)
                 {
                     GC.CreateMessage(Text_DepName.text + " 完成了 " + CurrentTask.TaskName + " 的生产");
                     GC.FinishedTask[(int)CurrentTask.TaskType * 3 + CurrentTask.Num - 1] += 1;
                     GC.UpdateResourceInfo();
                     EmpsGetExp(CurrentTask.Num);
                     CurrentTask.Progress = 0;
                     if (CurrentTask.Num == 1 && (int)CurrentTask.TaskType == 2)
                     {
                         GC.StrC.SolveStrRequest(3, 1);
                     }
                     else if (CurrentTask.Num == 2 && (int)CurrentTask.TaskType == 1)
                     {
                         GC.StrC.SolveStrRequest(4, 1);
                     }
                     else if (CurrentTask.Num == 1 && (int)CurrentTask.TaskType == 0)
                     {
                         GC.StrC.SolveStrRequest(5, 1);
                     }
                 }
                 UpdateUI(Pp);
             }
             else if (CurrentResearch != null)
             {
                 int Pp = CountProducePower(4);
                 CurrentResearch.CurrentProgress += Pp;
                 CurrentResearch.UpdateUI();
                 if (CurrentResearch.CurrentProgress >= CurrentResearch.Progress)
                 {
                     GC.CreateMessage(Text_DepName.text + " 完成了 " + CurrentResearch.Text_Name.text + " 的研究");
                     CurrentResearch.ResearchFinish();
                     CurrentResearch.ExtraButton.gameObject.SetActive(false);
                     EmpsGetExp(1);
                     CurrentResearch = null;
                     GC.StrC.SolveStrRequest(7, 1);
                 }
                 UpdateUI(Pp);
             }
             else if (SurveyStart == true)
             {
                 int Pp = CountProducePower(4);
                 SpProgress += Pp;
                 if (SpProgress >= StandardProducePoint * 10)
                 {
                     GC.CreateMessage(Text_DepName.text + " 完成了调研");
                     RandomResearch();
                     SurveyButton.interactable = true;
                     SurveyStart = false;
                 }
                 EmpsGetExp(1);
                 UpdateUI(Pp);
                 GC.StrC.SolveStrRequest(7, 1);
             }
             else if (WorkStart == true)
             {
                 if (type == EmpType.HR)
                 {
                     int Pp = CountProducePower(5);
                     SpProgress += Pp;
                     if (SpProgress >= SpTotalProgress)
                     {
                         GC.CreateMessage(Text_DepName.text + " 完成了 招聘");
                         //GC.FinishedTask[9] += 1; 原人力资源部2相关
                         //GC.UpdateResourceInfo();
                         EmpsGetExp(8);
                         GC.AddHireTypes(new HireType(SpTotalProgress / 100, SpType));
                         SpType          = 0;
                         SpProgress      = 0;
                         SpTotalProgress = 0;
                         WorkStart       = false;
                     }
                     UpdateUI(Pp);
                 }
             }
         }
         else
         {
             int Pp = CountProducePower(4);
             FailProgress -= Pp;
             if (FailProgress <= 0)
             {
                 GC.CreateMessage(Text_DepName.text + "完成了 失误处理");
                 Failed       = false;
                 FailProgress = 0;
             }
             UpdateUI(Pp);
         }
     }
     if (TaskChange == true)
     {
         TaskChangeTime -= 1;
         if (TaskChangeTime < 1)
         {
             GC.CreateMessage(Text_DepName.text + " 完成了生产线调整");
             TaskChange     = false;
             TaskChangeTime = 0;
         }
         UpdateUI();
     }
     if (LevelDownTime > 0)
     {
         LevelDownTime          -= 1;
         Text_LevelDownTime.text = "降级时间:" + LevelDownTime + "时";
         if (LevelDownTime == 0 && EfficiencyLevel > 1)
         {
             EfficiencyLevel -= 1;
             Efficiency      -= 0.2f;
             GC.CreateMessage(Text_DepName.text + " 的头脑风暴等级下降了");
         }
     }
     if (SpTime > 0)
     {
         SpTime -= 1;
     }
 }