void Entity::display(Being *observer, bool displayFull) { if (!observedBy(observer) || displayFull) { if (ENTITY_PLAYER == observer->getType()) { observer->out("display") << getLongDescription() << endl; } } else { displayShort(observer); } observedByMap[observer] = true; }
bool Node::handle<OBSERVE>(VPackSlice const& slice) { if (!slice.hasKey("url")) return false; if (!slice.get("url").isString()) return false; std::string url(slice.get("url").copyString()), uri(this->uri()); // check if such entry exists if (!observedBy(url)) { store().observerTable().emplace( std::pair<std::string, std::string>(url, uri)); store().observedTable().emplace( std::pair<std::string, std::string>(uri, url)); return true; } return false; }