示例#1
0
void Settings::Load()
{
	if(settingsJSON == NULL) return;

	for(int i = 0; i < variables.GetSizeI(); i++)
	{
		IVariable* var = variables[i];
		JSON* varJSON = var->json;
		if(varJSON == NULL)
		{
			varJSON = settingsJSON->GetItemByName(var->name);
		}
		if(varJSON)
		{
			var->json = varJSON;
			switch(varJSON->Type)
			{
			case JSON_Bool:
				var->LoadBool(varJSON->GetBoolValue());
				break;
			case JSON_Number:
				var->LoadNumber(varJSON->GetDoubleValue());
				break;
			case JSON_String:
				var->LoadCStr(varJSON->GetStringValue().ToCStr());
				break;
			default:
				break;
			}
		}
	}
}