private void CreateDiseaseEffect(DiseaseSymptomEffect diseaseEffect) { var effectViewModelObj = _diContainer.InstantiatePrefab(DiseaseEffectPrefab, EffectParent); var effectViewModel = effectViewModelObj.GetComponent <DiseaseEffectViewModel>(); effectViewModel.Init(diseaseEffect); }
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)}"); }
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; } }
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); } }