00001 // $Id: ra__item__access_8h-source.html,v 1.2 2002/06/20 17:09:51 mkrohn5 Exp $ 00002 00003 // "Rule Atom ItemAccess" Header File 00004 // Written by: Marco Krohn, <marco.krohn@gmx.de> 00005 00006 // Copyright (C) 2001 - , Marco Krohn, <marco.krohn@gmx.de> 00007 // 00008 // This program is free software; you can redistribute it and/or modify 00009 // it under the terms of the GNU General Public License as published by 00010 // the Free Software Foundation; either version 1, or (at your option) 00011 // any later version. 00012 // 00013 // This program is distributed in the hope that it will be useful, 00014 // but WITHOUT ANY WARRANTY; without even the implied warranty of 00015 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00016 // GNU General Public License for more details. 00017 00018 #ifndef __RA_ITEM_ACCESS_INCLUDED 00019 #define __RA_ITEM_ACCESS_INCLUDED 00020 00021 #include "gamelogic/ruleatom.h" 00022 00023 00024 00025 00026 00027 //---------------------------------------- class TRAItemAccess ---------------------------------------- 00028 00045 class TRAItemAccess : public TRuleAtom 00046 { 00047 public: 00048 TRAItemAccess(); 00049 00050 virtual bool checkDependencies( const TRuleSystem* rules, 00051 list<TRuleSystem::tError>* errors ) const = 0; 00052 virtual bool execute() = 0; 00053 virtual bool provideMissingInfo(); 00054 }; 00055 00056 00057 00058 00059 00060 //---------------------------------------- class TRAItemAccessBasic ---------------------------------------- 00061 00071 class TRAItemAccessBasic : public TRAItemAccess 00072 { 00073 public: 00074 TRAItemAccessBasic(); 00075 00076 virtual bool checkDependencies( const TRuleSystem* rules, 00077 list<TRuleSystem::tError>* errors ) const; 00078 virtual bool execute(); 00079 }; 00080 00081 00082 00083 00084 00085 //---------------------------------------- class TRAItemAccessStars ---------------------------------------- 00086 00096 class TRAItemAccessStars : public TRAItemAccess 00097 { 00098 public: 00099 TRAItemAccessStars(); 00100 00101 virtual bool checkDependencies( const TRuleSystem* rules, 00102 list<TRuleSystem::tError>* errors ) const; 00103 virtual bool execute(); 00104 }; 00105 00106 00107 00108 00109 00110 //---------------------------------------- class TRAItemAccessSL ---------------------------------------- 00111 00121 class TRAItemAccessSL : public TRAItemAccess 00122 { 00123 public: 00124 TRAItemAccessSL(); 00125 00126 virtual bool checkDependencies( const TRuleSystem* rules, 00127 list<TRuleSystem::tError>* errors ) const; 00128 virtual bool execute(); 00129 }; 00130 00131 00132 00133 00134 00135 #endif // __RA_ITEM_ACCESS_INCLUDED