ConsoleRuleFn.h

Go to the documentation of this file.
00001 ////////////////////////////////////////////////////////////////////////////////
00002 //    Scorched3D (c) 2000-2009
00003 //
00004 //    This file is part of Scorched3D.
00005 //
00006 //    Scorched3D is free software; you can redistribute it and/or modify
00007 //    it under the terms of the GNU General Public License as published by
00008 //    the Free Software Foundation; either version 2 of the License, or
00009 //    (at your option) any later version.
00010 //
00011 //    Scorched3D is distributed in the hope that it will be useful,
00012 //    but WITHOUT ANY WARRANTY; without even the implied warranty of
00013 //    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
00014 //    GNU General Public License for more details.
00015 //
00016 //    You should have received a copy of the GNU General Public License
00017 //    along with Scorched3D; if not, write to the Free Software
00018 //    Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
00019 ////////////////////////////////////////////////////////////////////////////////
00020 
00021 #if !defined(AFX_ConsoleRULEFN_H__B0DEC68E_5D12_410F_AEA2_3BF1AF6B3319__INCLUDED_)
00022 #define AFX_ConsoleRULEFN_H__B0DEC68E_5D12_410F_AEA2_3BF1AF6B3319__INCLUDED_
00023 
00024 #include <console/ConsoleRule.h>
00025 #include <common/DefinesAssert.h>
00026 
00027 class ConsoleRuleFnI
00028 {
00029 public:
00030         virtual ~ConsoleRuleFnI();
00031 
00032         virtual bool getBoolParam(const char *name) { DIALOG_ASSERT(0); return true; }
00033         virtual void setBoolParam(const char *name, bool value) { DIALOG_ASSERT(0); }
00034 
00035         virtual float getNumberParam(const char *name) { DIALOG_ASSERT(0); return 0.0f; }
00036         virtual void  setNumberParam(const char *name, float value) { DIALOG_ASSERT(0); }
00037 
00038         virtual const char *getStringParam(const char *name) { DIALOG_ASSERT(0); return 0; }
00039         virtual void setStringParam(const char *name, const char *value) { DIALOG_ASSERT(0); }
00040 };
00041 
00042 class ConsoleRuleFn : public ConsoleRule
00043 {
00044 public:
00045         ConsoleRuleFn(const char *name, 
00046                 ConsoleRuleFnI *user, 
00047                 ConsoleRuleType type, 
00048                 bool write = false);
00049         virtual ~ConsoleRuleFn();
00050 
00051         virtual void runRule(
00052                 Console *console,
00053                 const char *wholeLine,
00054                 std::vector<ConsoleRuleValue> &values);
00055 
00056 protected:
00057         ConsoleRuleFnI *user_;
00058         ConsoleRuleType type_;
00059 
00060         void setValue(ConsoleRuleValue &split);
00061         const char *getValue();
00062 };
00063 
00064 #endif // !defined(AFX_ConsoleRULEFN_H__B0DEC68E_5D12_410F_AEA2_3BF1AF6B3319__INCLUDED_)

Generated on Mon Feb 16 15:14:37 2009 for Scorched3D by  doxygen 1.5.3