CRABEquippedEntity::CRABEquippedEntity(CComposableEntity* pc_parent, const std::string& str_id, size_t un_msg_size, Real f_range, const SAnchor& s_anchor, CEmbodiedEntity& c_entity_body, const CVector3& c_pos_offset, const CQuaternion& c_rot_offset) : CPositionalEntity(pc_parent, str_id), m_psAnchor(&s_anchor), m_cPosOffset(c_pos_offset), m_cRotOffset(c_rot_offset), m_cData(un_msg_size), m_fRange(f_range), m_pcEntityBody(&c_entity_body) { Disable(); SetCanBeEnabledIfDisabled(false); CVector3 cPos = c_pos_offset; cPos.Rotate(s_anchor.Orientation); cPos += s_anchor.Position; SetInitPosition(cPos); SetPosition(cPos); SetInitOrientation(s_anchor.Orientation * c_rot_offset); SetOrientation(GetInitOrientation()); }
CKilobotCommunicationEntity::CKilobotCommunicationEntity(CComposableEntity* pc_parent, const std::string& str_id, size_t un_msg_size, Real f_range, SAnchor& s_anchor, CEmbodiedEntity& c_entity_body) : CPositionalEntity(pc_parent, str_id), m_psAnchor(&s_anchor), m_fTxRange(f_range), m_pcEntityBody(&c_entity_body), m_eTxStatus(TX_NONE) { Disable(); SetInitPosition(s_anchor.Position); SetPosition(GetInitPosition()); SetInitOrientation(s_anchor.Orientation); SetOrientation(GetInitOrientation()); }