#pragma once #include "StarEntity.hpp" namespace Star { STAR_CLASS(InspectableEntity); class InspectableEntity : public virtual Entity { public: // Default implementation returns true virtual bool inspectable() const; // If this entity can be entered into the player log, will return the log // identifier. virtual Maybe inspectionLogName() const; // Long description to display when inspected, if any virtual Maybe inspectionDescription(String const& species) const; }; inline bool InspectableEntity::inspectable() const { return true; } inline Maybe InspectableEntity::inspectionLogName() const { return {}; } inline Maybe InspectableEntity::inspectionDescription(String const&) const { return {}; } }