public void UnlockKnownDisease(ConsumeEffect disease_type)
    {
        if (!this.m_KnownDiseases.Contains(disease_type))
        {
            this.m_KnownDiseases.Add(disease_type);
            HUDInfoLog hudinfoLog = (HUDInfoLog)HUDManager.Get().GetHUD(typeof(HUDInfoLog));
            string     title      = GreenHellGame.Instance.GetLocalization().Get("HUD_InfoLog_NewEntry", true);
            string     key        = string.Empty;
            switch (disease_type)
            {
            case ConsumeEffect.FoodPoisoning:
                key = "Food Poisoning";
                break;

            case ConsumeEffect.Fever:
                key = "Fever";
                break;

            case ConsumeEffect.ParasiteSickness:
                key = "Parasite Sickness";
                break;

            case ConsumeEffect.Insomnia:
                key = "Insomnia";
                break;

            case ConsumeEffect.DirtSickness:
                key = "Dirt Sickness";
                break;
            }
            string text = GreenHellGame.Instance.GetLocalization().Get(key, true);
            hudinfoLog.AddInfo(title, text, HUDInfoLogTextureType.Notepad);
        }
    }
 public void UnlockKnownDisease(ConsumeEffect disease_type)
 {
     if (!this.m_KnownDiseases.Contains(disease_type))
     {
         this.m_KnownDiseases.Add(disease_type);
         HUDInfoLog hudinfoLog = (HUDInfoLog)HUDManager.Get().GetHUD(typeof(HUDInfoLog));
         string     title      = GreenHellGame.Instance.GetLocalization().Get("HUD_InfoLog_NewEntry");
         string     key        = string.Empty;
         if (disease_type != ConsumeEffect.Fever)
         {
             if (disease_type != ConsumeEffect.FoodPoisoning)
             {
                 if (disease_type == ConsumeEffect.ParasiteSickness)
                 {
                     key = "Parasite Sickness";
                 }
             }
             else
             {
                 key = "Food Poisoning";
             }
         }
         else
         {
             key = "Fever";
         }
         string text = GreenHellGame.Instance.GetLocalization().Get(key);
         hudinfoLog.AddInfo(title, text);
     }
 }
 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 Disease GetDisease(ConsumeEffect type)
 {
     foreach (KeyValuePair <int, Disease> keyValuePair in this.m_Diseases)
     {
         if (keyValuePair.Key == (int)type)
         {
             Dictionary <int, Disease> .Enumerator enumerator;
             KeyValuePair <int, Disease>           keyValuePair2 = enumerator.Current;
             return(keyValuePair2.Value);
         }
     }
     return(null);
 }
 public void HealAllDiseases()
 {
     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];
             disease.Deactivate();
             disease.m_Level = 0;
             disease.DeactivateSymptoms();
         }
     }
 }
 public bool IsAnyDiseaseActive()
 {
     using (Dictionary <int, Disease> .KeyCollection.Enumerator enumerator = this.m_Diseases.Keys.GetEnumerator())
     {
         while (enumerator.MoveNext())
         {
             ConsumeEffect key = (ConsumeEffect)enumerator.Current;
             if (this.m_Diseases[(int)key].IsActive())
             {
                 return(true);
             }
         }
     }
     return(false);
 }
    public void RequestDisease(ConsumeEffect type, float delay, int level)
    {
        if (this.m_Diseases[(int)type].IsActive())
        {
            return;
        }
        Disease disease = this.GetDisease(type);

        if (disease == null)
        {
            return;
        }
        DiseaseRequest diseaseRequest = new DiseaseRequest();

        diseaseRequest.m_RequestTime = Time.time;
        diseaseRequest.m_Disease     = disease;
        diseaseRequest.m_Delay       = delay;
        diseaseRequest.m_Level       = level;
        this.m_Requests.Add(diseaseRequest);
        this.UpdateRequests();
    }
 public bool IsDiseaseUnlocked(ConsumeEffect disease_type)
 {
     return(this.m_KnownDiseases.Contains(disease_type));
 }
示例#10
0
    public void UnlockKnownDiseaseFromScenario(string disease_type_name)
    {
        ConsumeEffect disease_type = (ConsumeEffect)Enum.Parse(typeof(ConsumeEffect), disease_type_name);

        this.UnlockKnownDisease(disease_type);
    }
示例#11
0
 private void MaybeApplyEffect(GameObject entity)
 {
     ConsumeEffect?.Clone().Apply(entity, entity);
 }
示例#12
0
 /// <summary>
 /// Remember that 'Modelname' should be /TYPEITEM/SUBTYPE(glove, important, accesory)/SPRITENAME
 /// </summary>
 public void SetValues(string nameItem, TypeItem typeItem, string itemDescription, ConsumeEffect consumeEffect, int sellValue, int quantity, string modelName)
 {
     NameItem      = nameItem; TypeItem = typeItem; ItemDescription = itemDescription;
     ConsumeEffect = consumeEffect; Quantity = quantity; SellValue = sellValue;
     ModelName     = modelName;
 }