I’m trying to build an inventory system based on NGUI’s example, whereby each item has a Base class for item types, a GameItem class for stats and individual features of each in-game instance of the Base item, and a database that ties the three together. I’m trying to add an EventDelegate to all three, but I’m having a heck of a time getting it to work. Here’s my current code:
public class InvBaseItem{
public List<EventDelegate> useItem = new List<EventDelegate>(); //Create a blank EventDelegate
}
[System.Serializable]
public class InvGameItem
{
public List<EventDelegate> UseItem {
get
{
if (baseItem == null) return null;
return baseItem.useItem;
}
}
}
public override void OnInspectorGUI (){
List<EventDelegate> itemSkill = EventDelegateEditor.Field(target, item.useItem);
}
So what I think I’m doing is a) create an eventdelegate in my base item class, b) create a getter for that delegate in my game item class, c) exposing the delegate in my database inspector. However, this produces an error, to wit “Cannot implicitly convert void to System.Collections.Generic.List”. I’m assuming that means either my declaration in the base item class is wrong, or my getter is screwed up, and either way it’s making it impossible for the database inspector to see the delegate. But I can’t for the life of me see where my error was.