Ejemplo n.º 1
0
    private void CreateDiseaseEffect(DiseaseSymptomEffect diseaseEffect)
    {
        var effectViewModelObj = _diContainer.InstantiatePrefab(DiseaseEffectPrefab, EffectParent);
        var effectViewModel    = effectViewModelObj.GetComponent <DiseaseEffectViewModel>();

        effectViewModel.Init(diseaseEffect);
    }
Ejemplo n.º 2
0
    private static string GetEffectText(Language currentLanguage, DiseaseSymptomEffect diseaseSymptomEffect)
    {
        var symptomName = LocalizationHelper.GetValueOrDefaultNoname(currentLanguage, diseaseSymptomEffect.Symptom.Name);

        var diseaseNames = new List <string>();

        foreach (var disease in diseaseSymptomEffect.Diseases)
        {
            var diseaseName = DiseaseLocalizationHelper.GetValueOrDefaultNoname(currentLanguage, disease.Name);

            diseaseNames.Add(diseaseName);
        }

        return($"{symptomName}\n{string.Join("\n", diseaseNames)}");
    }
Ejemplo n.º 3
0
    public void Init(DiseaseSymptomEffect diseaseSymptomEffect)
    {
        if (diseaseSymptomEffect is null)
        {
            throw new System.ArgumentNullException(nameof(diseaseSymptomEffect));
        }

        _diseaseSymptomEffect = diseaseSymptomEffect;

        var currentLanguage = _uiSettingService.CurrentLanguage;

        if (UiElementTooltip != null)
        {
            var effectText = GetEffectText(currentLanguage, _diseaseSymptomEffect);
            UiElementTooltip.text = effectText;
        }
    }
Ejemplo n.º 4
0
        private static void AddDiseaseEffectForSymptom(
            IEffectsModule personEffects,
            IDisease disease,
            DiseaseSymptom symptom)
        {
            var currentSymptomEffect = personEffects.Items.OfType <DiseaseSymptomEffect>()
                                       .SingleOrDefault(x => x.Symptom == symptom);

            if (currentSymptomEffect is null)
            {
                // При создании эффекта уже фиксируется болезнь, которая его удерживает.
                currentSymptomEffect = new DiseaseSymptomEffect(disease, symptom);
                personEffects.Add(currentSymptomEffect);
            }
            else
            {
                currentSymptomEffect.HoldDisease(disease);
            }
        }