又有于它被杀之后会有经验值,所以它要继承INotifyKilled,这样才能响应被杀的事件。在这个函数首先获取经验值,经验值主要有两个来源,一个是从用户里设置的YAML文件,一个是没有设置,直接从创建物品的花费来计算。最后是从IGivesExperienceModifier来获取经验的修改器,可以使用一个修改器来改变所有经验的计算。如果没有经验,或者没有攻击者,又或是对象自己卖掉的,都不要计算经验值。这里就实现了经验属性的分析,如果还有别的问题,可以在留言里提问。这里提供修改器,可以定制自己的规则。