Changeset 1611 for code/branches/core3/src/core/ConfigValueIncludes.h
- Timestamp:
- Jun 19, 2008, 5:02:45 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/core3/src/core/ConfigValueIncludes.h
r1596 r1611 47 47 @param defvalue The default-value of the variable 48 48 */ 49 #define SetConfigValue (varname, defvalue) \49 #define SetConfigValueGeneric(type, varname, defvalue) \ 50 50 static orxonox::Identifier* identifier##varname = this->getIdentifier(); \ 51 51 orxonox::ConfigValueContainer* container##varname = identifier##varname->getConfigValueContainer(#varname); \ 52 52 if (!container##varname) \ 53 53 { \ 54 container##varname = new orxonox::ConfigValueContainer(CFT_Settings, identifier##varname, #varname, varname = defvalue); \54 container##varname = new orxonox::ConfigValueContainer(CFT_Settings, identifier##varname, #varname, defvalue, varname); \ 55 55 identifier##varname->addConfigValueContainer(#varname, container##varname); \ 56 56 } \ 57 57 container##varname->getValue(&varname, this) 58 58 59 /** 60 @brief Assigns the value, defined in the config-file, to the variable (or the default-value, if there is no entry in the file). 61 @param classname name in which the config value should be stored 62 @param varname The name of the variable 63 @param defvalue The default-value of the variable 64 */ 65 #define SetConfigValueGeneric(classname, varname, defvalue) \ 66 static orxonox::Identifier* identifier##varname = ClassIdentifier<classname>::getIdentifier(); \ 67 orxonox::ConfigValueContainer* container##varname = identifier##varname->getConfigValueContainer(#varname); \ 68 if (!container##varname) \ 69 { \ 70 container##varname = new orxonox::ConfigValueContainer(CFT_Settings, identifier##varname, #varname, varname = defvalue); \ 71 identifier##varname->addConfigValueContainer(#varname, container##varname); \ 72 } \ 73 container##varname->getValue(&varname, this) 59 #define SetConfigValue(varname, defvalue) SetConfigValueGeneric(CFT_Settings, varname, defvalue) 60 #define SetKeybindingValue(varname, defvalue) SetConfigValueGeneric(CFT_Keybindings, varname, defvalue) 61 74 62 75 63 /** … … 78 66 @param defvalue The default-value 79 67 */ 80 #define SetConfigValueVector (varname, defvalue) \68 #define SetConfigValueVectorGeneric(type, varname, defvalue) \ 81 69 static orxonox::Identifier* identifier##varname = this->getIdentifier(); \ 82 70 orxonox::ConfigValueContainer* container##varname = identifier##varname->getConfigValueContainer(#varname); \ 83 71 if (!container##varname) \ 84 72 { \ 85 std::vector<MultiTypeMath> temp; \ 86 for (unsigned int i = 0; i < defvalue.size(); i++) \ 87 temp.push_back(MultiTypeMath(defvalue[i])); \ 88 container##varname = new orxonox::ConfigValueContainer(CFT_Settings, identifier##varname, #varname, temp); \ 89 container##varname->setVectorType(varname); \ 73 container##varname = new orxonox::ConfigValueContainer(CFT_Settings, identifier##varname, #varname, defvalue); \ 90 74 identifier##varname->addConfigValueContainer(#varname, container##varname); \ 91 75 } \ 92 76 container##varname->getValue(&varname, this) 77 78 #define SetConfigValueVector(varname, defvalue) SetConfigValueVectorGeneric(CFT_Settings, varname, defvalue) 79 #define SetKeybindingValueVector(varname, defvalue) SetConfigValueVectorGeneric(CFT_Keybindings, varname, defvalue) 80 93 81 94 82 /** … … 107 95 COUT(2) << "Warning: Couldn't reset config-value '" << #varname << "', corresponding container doesn't exist." << std::endl; \ 108 96 } 97 109 98 110 99 /**
Note: See TracChangeset
for help on using the changeset viewer.