Quantcast
Channel: Questions in topic: "enemy"
Viewing all articles
Browse latest Browse all 1488

Problem with adding items to a list

$
0
0
I'm trying to make a database of enemies for my turn based fighting game. So far I tried two things and neither worked, but I feel like this way is the better approach. If you know another method to make a database (preferably without an external source) please include it in your answer. This is my code for the database: using System.Collections; using System.Collections.Generic; using UnityEngine; public class EnemyDatabase : MonoBehaviour { public List enemyList = new List(); // Use this for initialization void Start () { //ENEMY CREATION Enemy e0 = new Enemy (); e0.enemyLevel = 1; e0.maxHealthPoints = 200; e0.maxManaPoints = 100; e0.minAtk = 10; e0.maxAtk = 20; e0.minMAtk = 0; e0.maxMAtk = 0; e0.phPenetration = 0; e0.magPenetration = 0; e0.armor = 0; e0.magRes = 0; e0.baseTime = 1; e0.critChance = 0; e0.critMult = 0; e0.blockChance = 0; e0.blockAmount = 0; e0.evadeChance = 0; e0.hitRate = 0; e0.lifeSteal = 0; e0.manaSteal = 0; e0.healthRegen = 0; e0.manaRegen = 0; e0.soulValue = 5; e0.goldValue = 0; e0.itemOdds = 0; e0.itemRarity = 0; enemyList.Add (e0); } // Update is called once per frame void Update () { } } And this is where I use it: using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Linq; public class CurrentEnemy : MonoBehaviour { public EnemyDatabase databaseEnemy; public int enemyLevel; public int soulValue; //determines soul points you get from killing it public int goldValue; //determines gold you get from killing it public int itemOdds; //determines the odds of getting an item public int itemRarity; //determines the rarity of dropped item public float maxHealthPoints; public float healthPoints; public int maxManaPoints; public int manaPoints; public int minAtk, maxAtk; public int minMAtk, maxMAtk; public int phPenetration; //reduces oponents armor public int magPenetration; //reduces oponents magic resist public int armor, magRes; public int aSpeed; //items public int aSpeedMult; //skills, passives public float baseTime; //weapon //base interval of attacks public float atkTimer; //atkTimer=base*aCoef //>100 => % public int critChance; //float critChance 0-100 public int critMult; public int blockChance; //Same as crit public int blockAmount; //shield, weapon //0-100 public int evadeChance; public int hitRate; //reduces oponents evasion public int lifeSteal, manaSteal; //skills, passives, items public int healthRegen; public int manaRegen; public void LoadEnemy(){ int index=0; Debug.Log (databaseEnemy.enemyList.Count ()); for (int i = 0; i < databaseEnemy.enemyList.Count (); i++) { if (databaseEnemy.enemyList [i].enemyLevel == enemyLevel) index = i; } Debug.Log (index); maxHealthPoints = databaseEnemy.enemyList [index].maxHealthPoints; maxManaPoints = databaseEnemy.enemyList [index].maxManaPoints; minAtk = databaseEnemy.enemyList [index].minAtk; maxAtk = databaseEnemy.enemyList [index].maxAtk; minMAtk = databaseEnemy.enemyList [index].minMAtk; maxMAtk = databaseEnemy.enemyList [index].maxMAtk; phPenetration = databaseEnemy.enemyList [index].phPenetration; magPenetration = databaseEnemy.enemyList [index].magPenetration; armor = databaseEnemy.enemyList [index].armor; magRes = databaseEnemy.enemyList [index].magRes; baseTime = databaseEnemy.enemyList [index].baseTime; critChance = databaseEnemy.enemyList [index].critChance; critMult = databaseEnemy.enemyList [index].critMult; blockChance = databaseEnemy.enemyList [index].blockChance; blockAmount = databaseEnemy.enemyList [index].blockAmount; evadeChance = databaseEnemy.enemyList [index].evadeChance; hitRate = databaseEnemy.enemyList [index].hitRate; lifeSteal = databaseEnemy.enemyList [index].lifeSteal; manaSteal = databaseEnemy.enemyList [index].manaSteal; healthRegen = databaseEnemy.enemyList [index].healthRegen; manaRegen = databaseEnemy.enemyList [index].manaRegen; soulValue = databaseEnemy.enemyList [index].soulValue; goldValue = databaseEnemy.enemyList [index].goldValue; itemOdds = databaseEnemy.enemyList [index].itemOdds; itemRarity = databaseEnemy.enemyList [index].itemRarity; } void Start () { enemyLevel = 1; LoadEnemy (); } // Update is called once per frame void Update () { if (healthPoints < 0) healthPoints = 0; } } I'm getting the following console error: ![alt text][1] I think my List is empty. I followed a guide where the person initialized the List like this: public List enemyList = new List(); And the enemies : Enemy e0 = new Enemy (); I don't know if this is right, but it worked for him. Again, if you know a better approach, please share. Thank you very much! [1]: /storage/temp/109550-cd7fe6df87b7c29025153cc233f21c09.png

Viewing all articles
Browse latest Browse all 1488

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>