void LoadObjectForEachElement(CategoryData data) { BarChart bar = BarObject.GetComponent <BarChart>(); var obj = mParser.GetObject(data.DataObjectName); int size = bar.DataSource.TotalGroups; if (size < 0) // this is not an array , show warning { Debug.LogWarning("DataType " + data.DataType + " does not match category " + data.Name); return; } try { for (int i = 0; i < size; i++) { string group = bar.DataSource.GetGroupName(i); var groupObj = mParser.GetChildObject(obj, group); double val = ParseItem(mParser.ObjectValue(groupObj), null); bar.DataSource.SetValue(data.Name, group, val); } } catch (Exception e) { Debug.LogWarning("Data for category " + data.Name + " does not match the specified format. Ended with exception : " + e.ToString()); } }