示例#1
0
文件: item.cpp 项目: miki151/keeperrl
Item::Item(const ItemAttributes& attr) : Renderable(ViewObject(*attr.viewId, ViewLayer::ITEM, capitalFirst(*attr.name))),
    attributes(attr), fire(attr.burnTime), canEquipCache(!!attributes->equipmentSlot),
    classCache(*attributes->itemClass) {
  if (!attributes->prefixes.empty())
    modViewObject().setModifier(ViewObject::Modifier::AURA);
  modViewObject().setGenericId(getUniqueId().getGenericId());
}
示例#2
0
const ViewObject& Trigger::getTorchViewObject(Dir dir) {
  static map<Dir, ViewObject> objs;
  if (objs.empty())
    for (Dir dir : ENUM_ALL(Dir))
      objs[dir] = ViewObject(ViewId::TORCH, dir == Dir::N ? ViewLayer::TORCH1 : ViewLayer::TORCH2, "Torch")
        .setAttachmentDir(dir);
  return objs[dir];
}
示例#3
0
Item::Item(const ItemAttributes& attr) : Renderable(ViewObject(*attr.viewId, ViewLayer::ITEM, *attr.name)),
    attributes(attr), fire(*attr.weight, attr.flamability) {
}
示例#4
0
ViewObject CreatureAttributes::createViewObject() const {
  return ViewObject(*viewId, ViewLayer::CREATURE, name->bare());
}