public void OnConfigureObjectRequest(SceneObjects.PrefabTemplate ao)
        {
            MedicalItemDataAddon medItem = FindMedicalItem(ao.Type);

            if (medItem != null)
            {
                ao.DataObjects.AddDataAddon("medical_items", medItem);
            }
        }
예제 #2
0
 //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);
         }
     }
 }