public static void LessonAutoActivatorUpdate() { if (TutorSystem.AdaptiveTrainingEnabled && Current.Game != null && !Find.Tutor.learningReadout.ShowAllMode) { LessonAutoActivator.timeSinceLastLesson += RealTime.realDeltaTime; if (Current.ProgramState == ProgramState.Playing) { if (Time.timeSinceLevelLoad < 8f || Find.WindowStack.SecondsSinceClosedGameStartDialog < 8f || Find.TickManager.NotPlaying) { return; } } for (int i = LessonAutoActivator.alertingConcepts.Count - 1; i >= 0; i--) { if (PlayerKnowledgeDatabase.IsComplete(LessonAutoActivator.alertingConcepts[i])) { LessonAutoActivator.alertingConcepts.RemoveAt(i); } } if (Time.frameCount % 15 == 0 && Find.ActiveLesson.Current == null) { for (int j = 0; j < DefDatabase <ConceptDef> .AllDefsListForReading.Count; j++) { ConceptDef conceptDef = DefDatabase <ConceptDef> .AllDefsListForReading[j]; if (!PlayerKnowledgeDatabase.IsComplete(conceptDef)) { float num = PlayerKnowledgeDatabase.GetKnowledge(conceptDef); num -= 0.00015f * Time.deltaTime * 15f; if (num < 0f) { num = 0f; } PlayerKnowledgeDatabase.SetKnowledge(conceptDef, num); if (conceptDef.opportunityDecays) { float num2 = LessonAutoActivator.GetOpportunity(conceptDef); num2 -= 0.4f * Time.deltaTime * 15f; if (num2 < 0f) { num2 = 0f; } LessonAutoActivator.opportunities[conceptDef] = num2; } } } if (Find.Tutor.learningReadout.ActiveConceptsCount < 3) { ConceptDef conceptDef2 = LessonAutoActivator.MostDesiredConcept(); if (conceptDef2 != null) { float desire = LessonAutoActivator.GetDesire(conceptDef2); if (desire > 0.1f && LessonAutoActivator.RelaxDesire < desire) { LessonAutoActivator.TryInitiateLesson(conceptDef2); } } } else { LessonAutoActivator.SetLastLessonTimeToNow(); } } } }
public static void LessonAutoActivatorUpdate() { if (TutorSystem.AdaptiveTrainingEnabled && Current.Game != null && !Find.Tutor.learningReadout.ShowAllMode) { LessonAutoActivator.timeSinceLastLesson += RealTime.realDeltaTime; if (Current.ProgramState == ProgramState.Playing) { if (Time.timeSinceLevelLoad < 8.0) { return; } if (Find.WindowStack.SecondsSinceClosedGameStartDialog < 8.0) { return; } if (Find.TickManager.NotPlaying) { return; } } for (int num = LessonAutoActivator.alertingConcepts.Count - 1; num >= 0; num--) { if (PlayerKnowledgeDatabase.IsComplete(LessonAutoActivator.alertingConcepts[num])) { LessonAutoActivator.alertingConcepts.RemoveAt(num); } } if (Time.frameCount % 15 == 0 && Find.ActiveLesson.Current == null) { for (int i = 0; i < DefDatabase <ConceptDef> .AllDefsListForReading.Count; i++) { ConceptDef conceptDef = DefDatabase <ConceptDef> .AllDefsListForReading[i]; if (!PlayerKnowledgeDatabase.IsComplete(conceptDef)) { float knowledge = PlayerKnowledgeDatabase.GetKnowledge(conceptDef); knowledge = (float)(knowledge - 0.0001500000071246177 * Time.deltaTime * 15.0); if (knowledge < 0.0) { knowledge = 0f; } PlayerKnowledgeDatabase.SetKnowledge(conceptDef, knowledge); if (conceptDef.opportunityDecays) { float opportunity = LessonAutoActivator.GetOpportunity(conceptDef); opportunity = (float)(opportunity - 0.40000000596046448 * Time.deltaTime * 15.0); if (opportunity < 0.0) { opportunity = 0f; } LessonAutoActivator.opportunities[conceptDef] = opportunity; } } } if (Find.Tutor.learningReadout.ActiveConceptsCount < 3) { ConceptDef conceptDef2 = LessonAutoActivator.MostDesiredConcept(); if (conceptDef2 != null) { float desire = LessonAutoActivator.GetDesire(conceptDef2); if (desire > 0.10000000149011612 && LessonAutoActivator.RelaxDesire < desire) { LessonAutoActivator.TryInitiateLesson(conceptDef2); } } } else { LessonAutoActivator.SetLastLessonTimeToNow(); } } } }