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(); } }
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); } } } }
public void OnConfigureObjectRequest(SceneObjects.PrefabTemplate ao) { BaseDataAddon charData = FindCharacterData(ao.Type); if (charData != null) { ao.DataObjects.AddDataAddon("characters", charData); ao.gameObject.AddComponent <SceneCharacter>(); } }
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); } }
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>(); } }
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); }
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")); }
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(); } }
public PersonCharacter(BaseDataAddon configValues, string name) : base(configValues, name) { InternalPatient = new Patient(this); }
public override void OnConfigure() { DestructibleData = GetComponent <PrefabTemplate>().DataObjects.GetDataAddon("destructibles"); }
} //unique (!) name of the character public BaseCharacter(BaseDataAddon configValues, string aName) { _configValues = configValues; Name = aName; resetStats(); }
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); } } }
//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)); }
public LivingCharacter(BaseDataAddon configValues, string name) : base(configValues, name) { }