public void UnlockKnownSymptom(Enums.DiseaseSymptom symptom_type)
 {
     if (!this.m_KnownSymptoms.Contains(symptom_type))
     {
         this.m_KnownSymptoms.Add(symptom_type);
     }
 }
    public global::DiseaseSymptom GetSymptom(Enums.DiseaseSymptom type)
    {
        global::DiseaseSymptom result = null;

        this.m_Symptoms.TryGetValue((int)type, out result);
        return(result);
    }
 public void OnDrink(LiquidType liquid_type, float hydration_amount)
 {
     using (Dictionary <int, Disease> .KeyCollection.Enumerator enumerator = this.m_Diseases.Keys.GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             ConsumeEffect key     = (ConsumeEffect)enumerator.Current;
             Disease       disease = this.m_Diseases[(int)key];
             if (disease.IsActive())
             {
                 disease.OnDrink(liquid_type);
             }
         }
     }
     using (Dictionary <int, global::DiseaseSymptom> .KeyCollection.Enumerator enumerator2 = this.m_Symptoms.Keys.GetEnumerator())
     {
         while (enumerator2.MoveNext())
         {
             Enums.DiseaseSymptom   key2           = (Enums.DiseaseSymptom)enumerator2.Current;
             global::DiseaseSymptom diseaseSymptom = this.m_Symptoms[(int)key2];
             if (diseaseSymptom.IsActive())
             {
                 diseaseSymptom.OnDrink(liquid_type, hydration_amount);
             }
         }
     }
 }
 public void OnEat(ConsumableInfo info)
 {
     using (Dictionary <int, Disease> .KeyCollection.Enumerator enumerator = this.m_Diseases.Keys.GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             ConsumeEffect key     = (ConsumeEffect)enumerator.Current;
             Disease       disease = this.m_Diseases[(int)key];
             if (disease.IsActive() || this.IsRequested(disease))
             {
                 disease.OnEat(info);
             }
         }
     }
     using (Dictionary <int, global::DiseaseSymptom> .KeyCollection.Enumerator enumerator2 = this.m_Symptoms.Keys.GetEnumerator())
     {
         while (enumerator2.MoveNext())
         {
             Enums.DiseaseSymptom   key2           = (Enums.DiseaseSymptom)enumerator2.Current;
             global::DiseaseSymptom diseaseSymptom = this.m_Symptoms[(int)key2];
             if (diseaseSymptom.IsActive())
             {
                 diseaseSymptom.OnEat(info);
             }
         }
     }
 }
 public bool ScenarioHasSymptom(string symptom_type)
 {
     Enums.DiseaseSymptom item = (Enums.DiseaseSymptom)Enum.Parse(typeof(Enums.DiseaseSymptom), symptom_type);
     foreach (Disease disease in this.m_Diseases.Values)
     {
         if (disease.m_Symptoms.Contains(item))
         {
             return(true);
         }
     }
     return(false);
 }
 public bool ScenarioHasSymptom(string symptom_type)
 {
     Enums.DiseaseSymptom item = (Enums.DiseaseSymptom)Enum.Parse(typeof(Enums.DiseaseSymptom), symptom_type);
     using (Dictionary <int, Disease> .ValueCollection.Enumerator enumerator = this.m_Diseases.Values.GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             if (enumerator.Current.m_Symptoms.Contains(item))
             {
                 return(true);
             }
         }
     }
     return(false);
 }
 public bool IsSymptomUnlocked(Enums.DiseaseSymptom symptom_type)
 {
     return(this.m_KnownSymptoms.Contains(symptom_type));
 }
 public void UnlockKnownSymptomFromScenario(string disease_type_name)
 {
     Enums.DiseaseSymptom symptom_type = (Enums.DiseaseSymptom)Enum.Parse(typeof(Enums.DiseaseSymptom), disease_type_name);
     this.UnlockKnownSymptom(symptom_type);
 }