public void OnCheckFinish() { Data.m_CurTime = -1; Data.m_Time = -1; CSMain.Instance.RemoveCounter(m_Counter); // StopCounter(); if (GameConfig.IsMultiMode) { isNpcReady = false; return; } PeEntity checkNpc = allPatients[0]; List <CSTreatment> csts = new List <CSTreatment>(); System.Random rand = new System.Random(); if (rand.NextDouble() > DEFAULT_CHECK_CHANGCE + m_Workers[0].GetDiagnoseChanceSkill) { csts.Add(CSTreatment.GetRandomTreatment(checkNpc)); } else { csts = CSTreatment.CreateTreatment(checkNpc); } //--to do: //生成病历 //更改npc状态 eg.diagnosing,treating, rest m_MgCreator.RemoveNpcTreatment(checkNpc.Id); if (csts != null && csts.Count > 0) { m_MgCreator.AddTreatment(csts); checkNpc.GetCmpt <NpcCmpt>().MedicalState = ENpcMedicalState.SearchTreat; } else { checkNpc.GetCmpt <NpcCmpt>().MedicalState = ENpcMedicalState.Cure; } allPatients.RemoveAt(0); Data.npcIds.RemoveAt(0); isNpcReady = false; if (allPatients.Count >= 1) { SetPatientIcon(m_Creator.GetNpc(allPatients[0].Id)); allPatients[0].GetCmpt <NpcCmpt>().MedicalState = ENpcMedicalState.SearchDiagnos; } else { SetPatientIcon(null); } RefreshTreatment(); }