Hack and slash tutorial ModifiedStat Tutorial

I’ve got the error:

The type or namespace name `List’ could not be found. Are you missing a using directive or an assembly reference?

And a warning:

The member `ModifiedStat.AdjustBaseValue’ does not hide an inherited member. The new keyword is not required

Code:

using System.Collections.Generic;

public class ModifiedStat : BaseStat {
private List _mods; //A list of Attribute that modify the stat 
private int _modValue; 					//Amount added to the baseValue from the modifiers

public ModifiedStat(){
_mods = new List();
_modValue = 0;
}
public void AddModifier( ModifyingAttribute mod){
_mods.Add(mod);
}

private void CalculateModValue(){
_modValue = 0;

if(_mods.Count > 0)
foreach(ModifyingAttribute att in _mods)
_modValue += (int)(att.attribute.AdjustBaseValue * att.ratio);

}

public new int AdjustBaseValue{
get { return BaseValue + BuffValue + _modValue; }
}

public void Update(){
CalculateModValue();
}
}

public struct ModifyingAttribute{
public Attribute attribute;
public float ratio;

public ModifyingAttribute(Attribute att, float rat){
attribute = att;
ratio = rat;
}
}

It doesn’t like

private List _mods;

However if I put

private List<ModifyingAttribute> _mods;

It comes up with even more errors!

Your original problem is you’re not declaring the List< T > correctly. The solution is to use List< ModifyingAttribute > (and make

_mods = new List< ModifyingAttribute >()

If you still get errors update and we can work from there.