Resolve "Toggle Free Look with Hotkey"
[ryzomcore.git] / ryzom / server / src / ai_service / owners.h
blob55af28e62ceef38b70f651cf4680f3f68711d60d
1 // Ryzom - MMORPG Framework <http://dev.ryzom.com/projects/ryzom/>
2 // Copyright (C) 2010 Winch Gate Property Limited
3 //
4 // This program is free software: you can redistribute it and/or modify
5 // it under the terms of the GNU Affero General Public License as
6 // published by the Free Software Foundation, either version 3 of the
7 // License, or (at your option) any later version.
8 //
9 // This program is distributed in the hope that it will be useful,
10 // but WITHOUT ANY WARRANTY; without even the implied warranty of
11 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12 // GNU Affero General Public License for more details.
14 // You should have received a copy of the GNU Affero General Public License
15 // along with this program. If not, see <http://www.gnu.org/licenses/>.
19 #ifndef _OWNERS_
20 #define _OWNERS_
22 #include "ai_entity_physical.h"
23 #include "ai_entity_physical_inline.h"
24 #include "ai_instance.h"
25 #include "ai_grp_pet.h"
27 // used to allow entity to handle pets.
28 class CPetOwner
30 public:
31 explicit CPetOwner () : _petGroup(NULL)
34 virtual ~CPetOwner ();
36 virtual CAIEntityPhysical &getPhysical()=0;
37 inline CGrpPet *getPetGroup()
39 return _petGroup;
41 inline void setPetGroup(CGrpPet *petGroup)
43 nlassert(!getPetGroup());
44 _petGroup=petGroup;
47 inline void removePetGroup()
49 _petGroup=NULL;
52 private:
53 NLMISC::CSmartPtr<CGrpPet> _petGroup;
56 #endif