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
1.5.1-p1