public void OnConfigureObjectRequest(SceneObjects.PrefabTemplate ao) { MedicalItemDataAddon medItem = FindMedicalItem(ao.Type); if (medItem != null) { ao.DataObjects.AddDataAddon("medical_items", medItem); } }
//skopiuj z innego przedmiotu-wzorca public MedicalItemDataAddon(MedicalItemDataAddon wzorzec) : base(wzorzec) { ActiveSubstances = new List <Substance>(); Type = wzorzec.Type; DurationRemained = wzorzec.DurationRemained; foreach (Substance wzorzecSubstancja in wzorzec.ActiveSubstances) { ActiveSubstances.Add(new Substance(wzorzecSubstancja)); } }
public void OnConfigure() { if (_medicalEventTemplates.Count == 0) { //zdarzenia XmlDataInfo eventsInfo = Utils.LoadXmlAssetFile("data/medical_events", "medical_events"); if (eventsInfo != null) { foreach (XElement element in eventsInfo.MainNodeElements) { MedicalEvent noweZdarzenie = new MedicalEvent(); noweZdarzenie.LoadData(eventsInfo, element); _medicalEventTemplates.Add(noweZdarzenie.Type, noweZdarzenie); } } //substancje XmlDataInfo substancesInfo = Utils.LoadXmlAssetFile("data/medical_substances", "substances"); if (substancesInfo != null) { foreach (XElement element in substancesInfo.MainNodeElements) { Substance nowaSubstancja = new Substance(); nowaSubstancja.LoadData(substancesInfo, element); _substancesTemplates.Add(nowaSubstancja); } } //przedmioty lecznicze (ladowanie substancji musi tu byc skonczone poniewaz sa one uzywane do tworzenia klonow substancji aktywnych w przedmiotach) XmlDataInfo medicalItemsInfo = Utils.LoadXmlAssetFile("data/medical_items", "medical_items"); if (medicalItemsInfo != null) { foreach (XElement element in medicalItemsInfo.MainNodeElements) { MedicalItemDataAddon nowyPrzedmiot = new MedicalItemDataAddon(); nowyPrzedmiot.LoadData(medicalItemsInfo, element, _substancesTemplates); _medicalItemTemplates.Add(nowyPrzedmiot.Type, nowyPrzedmiot); } } } if (_primalDiseasesTemplates.Count == 0) { try { //szanse XmlDataInfo chancesInfo = Utils.LoadXmlAssetFile("data/medical_chances", "chances"); if (chancesInfo != null) { foreach (XElement element in chancesInfo.MainNodeElements) { BaseDataAddon nowaSzansaNaZdarzenie = new BaseDataAddon(); nowaSzansaNaZdarzenie.LoadData(chancesInfo, element); if ((string)nowaSzansaNaZdarzenie["last"] == "") { _primalDiseasesTemplates.Add(nowaSzansaNaZdarzenie); } else { _derivedDiseasesTemplates.Add(nowaSzansaNaZdarzenie); } } } } catch (System.Exception wyjatek) { Debug.LogError("Ogólny wyjątek: " + wyjatek.Message); } } }