Home | nevrax.com |
|
msg_on_change.cppGo to the documentation of this file.00001 00006 /* Copyright, 2000 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 #include "nel/ai/agent/msg_on_change.h" 00026 #include "nel/ai/agent/agent_digital.h" 00027 #include "nel/ai/script/interpret_object_message.h" 00028 //#include "nel/ai/logic/goal.h" 00029 #include "nel/ai/agent/object_type.h" 00030 00031 namespace NLAIAGENT 00032 { 00033 COnChangeMsg::COnChangeMsg( std::list<IObjectIA *> &l, NLAISCRIPT::CMessageClass *b):CMessageScript(b) 00034 { 00035 CGroupType *x = new CGroupType(); 00036 setMessageGroup(x); 00037 setGroup(CMessageGroup::msgScriptingGroup); 00038 } 00039 00040 COnChangeMsg::COnChangeMsg(NLAISCRIPT::CMessageClass *b):CMessageScript(b) 00041 { 00042 CGroupType *x = new CGroupType(); 00043 setMessageGroup(x); 00044 setGroup(CMessageGroup::msgScriptingGroup); 00045 } 00046 00047 COnChangeMsg::COnChangeMsg(IBasicAgent *agent): 00048 CMessageScript((NLAISCRIPT::CMessageClass *)NLAISCRIPT::COnChangeMsgClass::IdOnChangeMsgClass.getFactory()->getClass()) 00049 { 00050 CGroupType *x = new CGroupType(); 00051 setMessageGroup(x); 00052 setGroup(CMessageGroup::msgScriptingGroup); 00053 } 00054 00055 COnChangeMsg::COnChangeMsg(const COnChangeMsg &m): CMessageScript(m) 00056 { 00057 } 00058 00059 const NLAIC::IBasicType *COnChangeMsg::clone() const 00060 { 00061 00062 const NLAIC::IBasicType *x = new COnChangeMsg(*this); 00063 00064 return x; 00065 } 00066 00067 const NLAIC::CIdentType &COnChangeMsg::getType() const 00068 { 00069 if ( getCreatorClass() ) 00070 return getCreatorClass()->getType(); 00071 else 00072 return IdOnChangeMsg; 00073 } 00074 00075 void COnChangeMsg::getDebugString(std::string &t) const 00076 { 00077 double i = ((const INombreDefine *)getFront())->getNumber(); 00078 if(i != 0.0) 00079 { 00080 std::string txt; 00081 get()->getDebugString(txt); 00082 t += NLAIC::stringGetBuild("COnChangeMsg<true,%s>",txt.c_str()); 00083 } 00084 else 00085 { 00086 t = "COnChangeMsg<false,NULL>"; 00087 } 00088 } 00089 } |