D:/Zythum/DinoKod/Common/Variable.cpp

00001 #include "Common/Error.h"
00002 
00003 #include "Common/Variable.h"
00004 
00005 //---------------------------------------------------------------------------------------------------------------------
00006 KVariableList::KVariableList()
00007 {
00008 }
00009 
00010 //---------------------------------------------------------------------------------------------------------------------
00011 KVariableList::~KVariableList()
00012 {
00013         KVariable*      pVariable;
00014         for( pVariable = m_VariableList.GetFirst(); pVariable; pVariable = m_VariableList.GetNext( pVariable ) )
00015                 delete pVariable;
00016 }
00017 
00018 //---------------------------------------------------------------------------------------------------------------------
00019 void KVariableList::RegisterVariable( KStr sName, KStr sString )
00020 {
00021         KVariable* pVariable = new KVariable( sName, sString );
00022         m_VariableList.Add( pVariable );
00023 }
00024 
00025 //---------------------------------------------------------------------------------------------------------------------
00026 void KVariableList::RegisterVariable( KStr sName, s32 Value )
00027 {
00028         KVariable* pVariable = new KVariable( sName, Value );
00029         m_VariableList.Add( pVariable );
00030 }
00031 
00032 //---------------------------------------------------------------------------------------------------------------------
00033 void KVariableList::RegisterVariable( KStr sName, float Value )
00034 {
00035         KVariable* pVariable = new KVariable( sName, Value );
00036         m_VariableList.Add( pVariable );
00037 }
00038 
00039 //---------------------------------------------------------------------------------------------------------------------
00040 void KVariableList::UnregisterVariable( KStr sName )
00041 {
00042         KVariable*      pVariable = GetpVariable( sName );
00043 
00044         if( pVariable )
00045         {
00046                 m_VariableList.Remove( pVariable );
00047                 delete pVariable;
00048         }
00049         else
00050                 KError::Error( NULL, "KVariableList::UnregisterVariable(...) : Variable name not found [%s]", sName.GetpString() );
00051 }
00052 
00053 //---------------------------------------------------------------------------------------------------------------------
00054 KVariable* KVariableList::GetpVariable( KStr sName )
00055 {
00056         KVariable*      pVariable;
00057         for( pVariable = m_VariableList.GetFirst(); pVariable; pVariable = m_VariableList.GetNext( pVariable ) )
00058         {
00059                 if( pVariable->GetsName() == sName )
00060                 {
00061                         return pVariable;
00062                 }
00063         }
00064         return NULL;
00065 }
00066 
00067 //---------------------------------------------------------------------------------------------------------------------
00068 KStr KVariableList::GetString( KStr sName )
00069 {
00070         KVariable*      pVariable = GetpVariable( sName );
00071 
00072         if( pVariable && ( pVariable->GetType() == KCVT_STRING ) )
00073                 return pVariable->GetString();
00074 
00075         return KStr( "" );
00076 }
00077 
00078 //---------------------------------------------------------------------------------------------------------------------
00079 s32 KVariableList::GetInteger( KStr sName )
00080 {
00081         KVariable*      pVariable = GetpVariable( sName );
00082 
00083         if( pVariable && ( pVariable->GetType() == KCVT_INTEGER ) )
00084                 return pVariable->GetInteger();
00085 
00086         return 0;
00087 }
00088 
00089 //---------------------------------------------------------------------------------------------------------------------
00090 float KVariableList::GetFloat( KStr sName )
00091 {
00092         KVariable*      pVariable = GetpVariable( sName );
00093 
00094         if( pVariable && ( pVariable->GetType() == KCVT_FLOAT ) )
00095                 return pVariable->GetFloat();
00096 
00097         return 0.0f;
00098 }
00099 

Generated on Sun Mar 25 20:02:11 2007 for Zythum Project by  doxygen 1.5.1-p1