Quantcast
Channel: Questions in topic: "error"
Viewing all articles
Browse latest Browse all 7934

How do I fix this error

$
0
0
The error is called :NullReferenceException: Object reference not set to an instance of an object CharacterStat.AddStatBonus (System.Collections.Generic.List`1 statBonuses) (at Assets/scripts/weapon/CharacterStat.cs:17) PlayerWeaponController.EquipWeapon (.Item ItemToEquip) (at Assets/scripts/weapon/PlayerWeaponController.cs:30) InventoryController.Update () (at Assets/scripts/weapon/InventoryController.cs:21) using System.Collections.Generic; using UnityEngine; public class CharacterStat : MonoBehaviour { public List stats = new List(); void Start() { stats.Add(new Basestat(5, "power", "your power level.")); stats.Add(new Basestat(3, "vittality", "your vitality level")); } public void AddStatBonus(List statBonuses) { foreach (Basestat statBonus in statBonuses) stats.Find(x => x.StatName == statBonus.StatName).AddStatBonus(new StatBonus(statBonus.BaseValue)); } public void RemoveStatBonus(List statBonuses) { foreach (Basestat statBonus in statBonuses) { stats.Find(x => x.StatName == statBonus.StatName).RemoveStatBonus(new StatBonus(statBonus.BaseValue)); } } } ------------------------------------------------------------------------------------------------------------------------------------------------------- using System.Collections; using System.Collections.Generic; using UnityEngine; public class PlayerWeaponController : MonoBehaviour { public GameObject PlayerHand; public GameObject EquipedWeapon { get; set; } CharacterStat characterstats; IWeapon equipedWeapon; void Start() { characterstats = GetComponent(); } public void EquipWeapon(Item ItemToEquip) { if (EquipedWeapon != null) { characterstats.RemoveStatBonus(EquipedWeapon.GetComponent().Stats); Destroy(PlayerHand.transform.GetChild(0).gameObject); } EquipedWeapon = (GameObject)Instantiate(Resources.Load("Weapons/" + ItemToEquip.ObjectSlug), PlayerHand.transform.position, PlayerHand.transform.rotation); equipedWeapon = EquipedWeapon.GetComponent(); EquipedWeapon.transform.SetParent(PlayerHand.transform); characterstats.AddStatBonus(ItemToEquip.Stats); Debug.Log(equipedWeapon.Stats[0].GetCalculatedStatValue()); } public void PerformWeaponAttack() { equipedWeapon.PerformAttack(); } } ------------------------------------------------------------------------------------------------------------------------------------------------------- using System.Collections; using System.Collections.Generic; using UnityEngine; public class InventoryController : MonoBehaviour { public PlayerWeaponController playerWeaponController; public Item sword; void Start() { playerWeaponController = GetComponent(); List swordStats = new List(); swordStats.Add(new Basestat(6, "Power", "your power level")); sword = new Item(swordStats, "sword"); } void Update() { if(Input.GetKeyDown(KeyCode.V)) { playerWeaponController.EquipWeapon(sword); } } }

Viewing all articles
Browse latest Browse all 7934

Trending Articles



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