コード例 #1
0
 public void OnConfigure()
 {
     if (_producers.Count == 0)
     {
         try
         {
             //_producers
             XmlDataInfo prodInfo = Utils.LoadXmlAssetFile("data/idle_producers", "idle_producers");
             if (prodInfo != null)
             {
                 foreach (XElement element in prodInfo.MainNodeElements)
                 {
                     BaseDataAddon newProd = new BaseDataAddon();
                     newProd.LoadData(prodInfo, element);
                     _producers.Add(newProd.Type, newProd);
                 }
             }
             //_storages
             XmlDataInfo storInfo = Utils.LoadXmlAssetFile("data/idle_res_storages", "idle_res_storages");
             if (storInfo != null)
             {
                 foreach (XElement element in storInfo.MainNodeElements)
                 {
                     BaseDataAddon newStor = new BaseDataAddon();
                     newStor.LoadData(storInfo, element);
                     _storages.Add(newStor.Type, newStor);
                 }
             }
             //_resStacks
             XmlDataInfo resInfo = Utils.LoadXmlAssetFile("data/idle_res_stacks", "idle_res_stacks");
             if (resInfo != null)
             {
                 foreach (XElement element in resInfo.MainNodeElements)
                 {
                     BaseDataAddon newRes = new BaseDataAddon();
                     newRes.LoadData(resInfo, element);
                     _resStacks.Add(newRes.Type, newRes);
                 }
             }
             //_stubs
             XmlDataInfo stubInfo = Utils.LoadXmlAssetFile("data/idle_stubs", "idle_stubs");
             if (stubInfo != null)
             {
                 foreach (XElement element in stubInfo.MainNodeElements)
                 {
                     BaseDataAddon newStub = new BaseDataAddon();
                     newStub.LoadData(stubInfo, element);
                     _stubs.Add(newStub.Type, newStub);
                 }
             }
         }
         catch (System.Exception wyjatek)
         {
             Debug.LogError("Ogólny wyjątek: " + wyjatek.Message);
         }
         _buildingsBuilt.Clear();
     }
 }
コード例 #2
0
 public void OnConfigure()
 {
     if (_basicItemTemplates.Count == 0)
     {
         //przedmioty ogolnie
         XmlDataInfo itemsInfo = Utils.LoadXmlAssetFile("data/items", "items");
         if (itemsInfo != null)
         {
             foreach (XElement element in itemsInfo.MainNodeElements)
             {
                 ItemDataAddon newItem = new ItemDataAddon();
                 newItem.LoadData(itemsInfo, element);
                 _basicItemTemplates.Add(newItem.Type, newItem);
             }
         }
     }
     if (_weaponTemplates.Count == 0)
     {
         //bronie
         XmlDataInfo weaponsInfo = Utils.LoadXmlAssetFile("data/weapons", "weapons");
         if (weaponsInfo != null)
         {
             foreach (XElement element in weaponsInfo.MainNodeElements)
             {
                 WeaponDataAddon newItem = new WeaponDataAddon();
                 newItem.LoadData(weaponsInfo, element);
                 _weaponTemplates.Add(newItem.Type, newItem);
             }
         }
         //desctructibles
         XmlDataInfo destrInfo = Utils.LoadXmlAssetFile("data/destructibles", "destructibles");
         if (destrInfo != null)
         {
             foreach (XElement element in destrInfo.MainNodeElements)
             {
                 BaseDataAddon newItem = new BaseDataAddon();
                 newItem.LoadData(destrInfo, element);
                 _destructibles.Add(newItem.Type, newItem);
             }
         }
     }
     if (_enemyTemplates.Count == 0)
     {
         //wrogowie
         XmlDataInfo enemyInfo = Utils.LoadXmlAssetFile("data/enemies", "enemies");
         if (enemyInfo != null)
         {
             foreach (XElement element in enemyInfo.MainNodeElements)
             {
                 BaseDataAddon nowyEnemyInfo = new BaseDataAddon();
                 nowyEnemyInfo.LoadData(enemyInfo, element);
                 _enemyTemplates.Add(nowyEnemyInfo.Type, nowyEnemyInfo);
             }
         }
     }
 }
コード例 #3
0
        public void OnConfigureObjectRequest(SceneObjects.PrefabTemplate ao)
        {
            BaseDataAddon charData = FindCharacterData(ao.Type);

            if (charData != null)
            {
                ao.DataObjects.AddDataAddon("characters", charData);
                ao.gameObject.AddComponent <SceneCharacter>();
            }
        }
コード例 #4
0
        private int[] _expForLevel;                        //how much exp is needed to gain a level

        public PlayerCharacter(BaseDataAddon configData) : base(configData, "Player")
        {
            _expForLevel    = new int[MAX_LEVEL + 1];
            _expForLevel[0] = 0;
            _expForLevel[1] = DEF_BASE_EXP;
            for (int i = 2; i < MAX_LEVEL; i++)
            {
                _expForLevel[i] = _expForLevel[i - 1] + (int)Mathf.Round((_expForLevel[i - 1] - _expForLevel[i - 2]) * DEF_LEVELING_EXP_CURVE);
            }
        }
コード例 #5
0
        public void OnConfigureObjectRequest(SceneObjects.PrefabTemplate ao)
        {
            ItemDataAddon itemData = FindItem(ao.Type);

            if (itemData != null)
            {
                ao.DataObjects.AddDataAddon("items", itemData);
                if (ao.gameObject.GetComponent <SceneItem>() == null)
                {
                    ao.gameObject.AddComponent <SceneItem>();
                }
                ao.gameObject.GetComponent <SceneItem>().OnConfigure();
            }
            BaseDataAddon destrData = FindDestructible(ao.Type);

            if (destrData != null)
            {
                ao.DataObjects.AddDataAddon("destructibles", destrData);
                if (ao.gameObject.GetComponent <SceneDestructible>() == null)
                {
                    ao.gameObject.AddComponent <SceneDestructible>();
                }
                ao.gameObject.GetComponent <SceneDestructible>().OnConfigure();
            }
            BaseDataAddon weapData = FindWeapon(ao.Type);

            if (weapData != null)
            {
                ao.DataObjects.AddDataAddon("weapons", weapData);
                if (ao.gameObject.GetComponent <SceneWeapon>() == null)
                {
                    ao.gameObject.AddComponent <SceneWeapon>();
                }
                ao.gameObject.GetComponent <SceneWeapon>().OnConfigure();
                SceneWeaponHitter[] wphs = ao.gameObject.GetComponentsInChildren <SceneWeaponHitter>();
                foreach (SceneWeaponHitter swh in wphs)
                {
                    swh.RealWeapon = ao.gameObject.GetComponent <SceneWeapon>();
                }
                if (wphs.Length == 0)
                {
                    ao.gameObject.AddComponent <SceneWeaponHitter>().RealWeapon = ao.gameObject.GetComponent <SceneWeapon>();
                }
            }
            BaseDataAddon enemyData = FindEnemyData(ao.Type);

            if (enemyData != null)
            {
                ao.DataObjects.AddDataAddon("enemies", enemyData);
                //ao.gameObject.AddComponent<SceneNPC>();
            }
        }
コード例 #6
0
 public override void OnConfigure()
 {
     TheData       = GetComponent <PrefabTemplate>().DataObjects.GetDataAddon("idle_stubs");
     _cost         = BaseSceneBuilding.DecodeResConfigString((string)TheData["cost"]);
     _targetPrefab = (string)TheData["targetPrefab"];
     _requires     = new List <string>();
     if ((string)TheData["requires"] != "")
     {
         string[] requiresArray = ((string)TheData["requires"]).Split(';');
         _requires.AddRange(requiresArray);
     }
     TheTargetData = IdleGameModuleManager.Instance.FindAnyBuilding(_targetPrefab);
 }
コード例 #7
0
 public void OnConfigure()
 {
     if (_characterTemplates.Count == 0)
     {
         //postacie
         XmlDataInfo charInfo = Utils.LoadXmlAssetFile("data/characters", "characters");
         if (charInfo != null)
         {
             foreach (XElement element in charInfo.MainNodeElements)
             {
                 BaseDataAddon nowyCharData = new BaseDataAddon();
                 nowyCharData.LoadData(charInfo, element);
                 _characterTemplates.Add(nowyCharData.Type, nowyCharData);
             }
         }
     }
     ThePlayer = new PlayerCharacter(FindCharacterData("Player"));
 }
コード例 #8
0
        public void OnConfigureObjectRequest(SceneObjects.PrefabTemplate ao)
        {
            BaseDataAddon prodData = FindProducer(ao.Type);

            if (prodData != null)
            {
                ao.DataObjects.AddDataAddon("idle_producers", prodData);
                ao.gameObject.AddComponent <SceneProducer>();
                ao.GetComponent <SceneProducer>().OnConfigure();
                _buildingsBuilt.Add(ao.GetComponent <BaseSceneBuilding>());
            }
            BaseDataAddon stoData = FindStorage(ao.Type);

            if (stoData != null)
            {
                ao.DataObjects.AddDataAddon("idle_res_storages", stoData);
                ao.gameObject.AddComponent <SceneStorage>();
                ao.GetComponent <SceneStorage>().OnConfigure();
                _buildingsBuilt.Add(ao.GetComponent <BaseSceneBuilding>());
            }
            BaseDataAddon resData = FindResStack(ao.Type);

            if (resData != null)
            {
                ao.DataObjects.AddDataAddon("idle_res_stacks", resData);
                ao.gameObject.AddComponent <SceneResStack>();
                ao.GetComponent <SceneResStack>().OnConfigure();
            }
            BaseDataAddon stubData = FindStub(ao.Type);

            if (stubData != null)
            {
                ao.DataObjects.AddDataAddon("idle_stubs", stubData);
                ao.gameObject.AddComponent <SceneStub>();
                ao.GetComponent <SceneStub>().OnConfigure();
            }
        }
コード例 #9
0
 public PersonCharacter(BaseDataAddon configValues, string name) : base(configValues, name)
 {
     InternalPatient = new Patient(this);
 }
コード例 #10
0
 public override void OnConfigure()
 {
     DestructibleData = GetComponent <PrefabTemplate>().DataObjects.GetDataAddon("destructibles");
 }
コード例 #11
0
 }                                                               //unique (!) name of the character
 public BaseCharacter(BaseDataAddon configValues, string aName)
 {
     _configValues = configValues;
     Name          = aName;
     resetStats();
 }
コード例 #12
0
 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);
         }
     }
 }
コード例 #13
0
        //tworzy ZdarzenieMedyczne na podstawie szansy
        private MedicalEvent CreateMedicalEventOfChance(BaseDataAddon chance, BodyPart newPlace, float sila, float zaostrzenie)
        {
            MedicalEvent eventTemplate = FindMedicalEvent((string)chance["next"]);

            return(UtworzZdarzenieMedyczneNaPodstawieWzorca(eventTemplate, newPlace, sila, zaostrzenie));
        }
コード例 #14
0
 public LivingCharacter(BaseDataAddon configValues, string name) : base(configValues, name)
 {
 }