# Home    # nevrax.com   
Nevrax
Nevrax.org
#News
#Mailing-list
#Documentation
#CVS
#Bugs
#License
Docs
 
Documentation  
Main Page   Namespace List   Class Hierarchy   Alphabetical List   Compound List   File List   Namespace Members   Compound Members   File Members   Related Pages   Search  

fsm_seq_script.h

Go to the documentation of this file.
00001 
00008 /* Copyright, 2000 Nevrax Ltd.
00009  *
00010  * This file is part of NEVRAX NEL.
00011  * NEVRAX NEL is free software; you can redistribute it and/or modify
00012  * it under the terms of the GNU General Public License as published by
00013  * the Free Software Foundation; either version 2, or (at your option)
00014  * any later version.
00015 
00016  * NEVRAX NEL is distributed in the hope that it will be useful, but
00017  * WITHOUT ANY WARRANTY; without even the implied warranty of
00018  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
00019  * General Public License for more details. 
00020 
00021  * You should have received a copy of the GNU General Public License
00022  * along with NEVRAX NEL; see the file COPYING. If not, write to the
00023  * Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston,
00024  * MA 02111-1307, USA.
00025  */
00026 
00027 #ifndef NL_FSMSEQ_SCRIPT_H_
00028 #define NL_FSMSEQ_SCRIPT_H_
00029 
00030 #include "nel/ai/agent/agent.h"
00031 #include "nel/ai/agent/agent_script.h"
00032 #include "nel/ai/agent/agent_manager.h"
00033 #include "nel/ai/logic/bool_cond.h"
00034 #include "nel/ai/script/type_def.h"
00035 #include "nel/ai/script/interpret_fsm.h"
00036 #include "nel/ai/logic/fsm_script.h"
00037 #include "nel/ai/script/codage.h"
00038 
00039 namespace NLAIAGENT
00040 {
00041         class CSeqFsmScript  : public CFsmScript
00042         {
00043                 private:
00044 //                      std::vector<NLAIAGENT::IObjectIA *> _VarValues;         // Values of the vars for the instanciated operator
00045 //                      NLAILOGIC::CFactBase                            *_FactBase;             // The father's factbase
00046 
00047                         sint32          _IdActiveChild;
00048                         IBasicAgent *_ActiveChild;
00049 
00050                 public:
00051                         // Builds and actor with its father
00052                         CSeqFsmScript(IAgentManager *, bool activated = false);
00053                         // copy constructor
00054                         CSeqFsmScript(const CSeqFsmScript &);
00055                         CSeqFsmScript(IAgentManager *, IBasicAgent *, std::list<IObjectIA *> &, NLAISCRIPT::CFsmClass *);
00056                         virtual ~CSeqFsmScript();
00057 
00059 //                      virtual float priority() const;
00060 
00061 //                      virtual int getBaseMethodCount() const;
00062 
00064                         virtual const NLAIC::IBasicType *clone() const;
00065                         virtual const NLAIC::IBasicType *newInstance() const;
00066                         virtual void getDebugString(std::string &) const;
00067                         virtual bool isEqual(const IBasicObjectIA &a) const;
00068 //                      virtual void processMessages();
00069 //                      virtual const CProcessResult &run();
00070                         virtual void runChildren();
00071  
00072 //                      virtual IObjectIA *run(const IMessageBase &msg);
00073 
00074 
00075 //                      virtual CProcessResult sendMessage(IObjectIA *);
00076                         virtual const NLAIC::CIdentType &getType() const;
00077 
00078 
00079                         static const NLAIC::CIdentType IdSeqFsmScript;
00080 
00081                         virtual void save(NLMISC::IStream &os);         
00082                         virtual void load(NLMISC::IStream &is);         
00083 
00084                         virtual IObjectIA::CProcessResult runMethodBase(int heritance, int index,IObjectIA *);
00085                         virtual IObjectIA::CProcessResult runMethodBase(int index,IObjectIA *);
00086                 
00087 
00088         
00089                         virtual tQueue isMember(const NLAIAGENT::IVarName *, const NLAIAGENT::IVarName *, const IObjectIA &) const;
00090 //                      virtual sint32 getMethodIndexSize() const;
00091 
00092                         void getFatherComponent(IVarName &);
00093 
00094 //                      virtual void setParent(const IWordNumRef *parent);
00095 
00096                         virtual void activate(sint32);
00097 //                      virtual void unactivate(sint32);
00098 
00099 
00102                         virtual void onSuccess();
00103                         virtual void onFailure();
00104 
00107                         virtual void onSuccess( IObjectIA *);
00108                         virtual void onFailure( IObjectIA *);
00109 
00111 /*              virtual IObjectIA::CProcessResult runMethodBase(int heritance, int index,IObjectIA *);
00112                 virtual IObjectIA::CProcessResult runMethodBase(int index,IObjectIA *);
00113                 virtual tQueue isMember(const NLAIAGENT::IVarName *, const NLAIAGENT::IVarName *, const IObjectIA &) const;
00114                 virtual sint32 getMethodIndexSize() const;
00115                 */
00116         };
00117 
00118 }
00119 #endif