Home | nevrax.com |
|
zone.hGo to the documentation of this file.00001 00006 /* Copyright, 2001 Nevrax Ltd. 00007 * 00008 * This file is part of NEVRAX NEL. 00009 * NEVRAX NEL is free software; you can redistribute it and/or modify 00010 * it under the terms of the GNU General Public License as published by 00011 * the Free Software Foundation; either version 2, or (at your option) 00012 * any later version. 00013 00014 * NEVRAX NEL is distributed in the hope that it will be useful, but 00015 * WITHOUT ANY WARRANTY; without even the implied warranty of 00016 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00017 * General Public License for more details. 00018 00019 * You should have received a copy of the GNU General Public License 00020 * along with NEVRAX NEL; see the file COPYING. If not, write to the 00021 * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, 00022 * MA 02111-1307, USA. 00023 */ 00024 00025 #ifndef NL_ZONE_H 00026 #define NL_ZONE_H 00027 #include "nel/ai/character/character.h" 00028 00029 namespace NLAICHARACTER 00030 { 00031 class IZone: public ICharacter 00032 { 00033 private: 00034 ICharacter *_Character; 00035 NLAIAGENT::IBaseGroupType *_Attachment; 00036 00037 public: 00038 IZone(const IZone &); 00039 IZone(ICharacter *); 00041 IZone(const std::string &name); 00042 virtual ~IZone(); 00043 00044 virtual const IZone *isInZone(const IZone &) const = 0; 00045 00046 virtual const std::string &getName() const 00047 { 00048 return _Character->getName(); 00049 } 00050 virtual const ICharacter *haveCharacter(const std::string &s) const 00051 { 00052 return _Character->haveCharacter(s); 00053 } 00054 virtual bool addCharacter(const ICharacter &c) 00055 { 00056 return _Character->addCharacter(c); 00057 } 00058 00059 virtual bool canAddCharacter() const 00060 { 00061 return _Character->canAddCharacter(); 00062 } 00063 00064 virtual void addObject(const NLAIAGENT::IObjectIA *); 00065 virtual void removeObject(const NLAIAGENT::IObjectIA *); 00066 virtual NLAIAGENT::CIteratorContener getAttachement() const; 00067 }; 00068 00069 } 00070 #endif |