4 #include <Eris/Types.h>
5 #include <Eris/EntityRef.h>
7 #include <Atlas/Objects/ObjectsFwd.h>
9 #include <wfmath/point.h>
10 #include <wfmath/vector.h>
11 #include <wfmath/quaternion.h>
12 #include <wfmath/timestamp.h>
14 #include <sigc++/trackable.h>
15 #include <sigc++/signal.h>
16 #include <sigc++/connection.h>
31 class Avatar :
virtual public sigc::trackable
37 const std::string &
getId()
const;
42 View* getView()
const;
58 void drop(
Entity* entity,
const WFMath::Point<3>& pos,
59 const WFMath::Quaternion& orientation,
const std::string& loc);
67 void drop(
Entity* entity,
const WFMath::Vector<3>& offset = WFMath::Vector<3>(0, 0, 0),
68 const WFMath::Quaternion& orientation = WFMath::Quaternion());
77 void say(
const std::string&);
82 void sayTo(
const std::string& message,
const std::vector<const Entity*>& entities);
85 void emote(
const std::string&);
94 void moveInDirection(
const WFMath::Vector<3>&,
const WFMath::Quaternion&);
109 const WFMath::Quaternion& orientation = WFMath::Quaternion());
124 void useOn(
Entity * entity,
const WFMath::Point< 3 > & position,
const std::string& op);
185 sigc::signal<void, Entity*, const Atlas::Objects::Operation::RootOperation&>
Hear;
210 void onEntityAppear(
Entity* ent);
211 void onCharacterChildAdded(
Entity* child);
212 void onCharacterChildRemoved(
Entity* child);
214 void onCharacterWield(
const Atlas::Message::Element&);
215 void onWieldedChanged();
217 virtual void onTransferRequested(
const TransferInfo &transfer);
219 void logoutResponse(
const Atlas::Objects::Operation::RootOperation&);
237 std::string m_entityId;
240 WFMath::TimeStamp m_stampAtLastOp;
248 sigc::connection m_entityAppearanceCon;
263 inline View* Avatar::getView()
const
268 inline const EntityRef& Avatar::getWielded()
const