Adding Cards and simplifying some classes
Summary
As I am doing some work on another project which is like a simple card game auto battled some of that functionality has been rolled into OpenRpg, there are also some changes around variables which allow more flexibility in usage as well as improving use cases.
Cards
So cards are basically wrappers of data, be it items, abilities, effects etc.
All the underlying objects are the same, so you can take the same items you already have and same classes/races etc and just express them as cards by providing card implementations for each bit. Then in your game layer you just need to display the cards and apply them to characters/whatever.
IHasAssetCode
This notion has been removed as it was mainly there to provide users a way to tie an asset code to a given object, i.e lets say an item has a sprite and a model, you could use the asset code as a way to satisfy that dependency without knowing about the view.
However not everyone needs this, and those who do may need more than just a single string field, so as part of this its recommended that if you need that functionality you use the Variables
provided on most objects and have a type specific for your view related data. This also allows you to provide as much view related data as you want, be it unique view ids, view asset codes or even 3rd party id codes etc.