/// <summary> /// Serializes the visualization into a SerializedObject /// </summary> /// <returns>A SerializedObject which contains the relevant properties of the visualization</returns> public SerializedObject Serialize() { SerializedObject serializedObject = new SerializedObject(); serializedObject.Strings.Add(titleKey, visualization.Title); if (visualization != null) { List <int> projectIds = new List <int>(); List <int> ids = new List <int>(); for (int i = 0; i < visualization.ContentProvider.Issues.Count; i++) { Issue issue = visualization.ContentProvider.Issues[i]; if (issue.Source == DataSource.REQUIREMENTS_BAZAAR) { projectIds.Add(-1); } else { projectIds.Add(issue.ProjectId); } ids.Add(issue.Id); } SerializedObject.AddList(projectIdKey, projectIds, serializedObject.Integers); SerializedObject.AddList(idsKey, ids, serializedObject.Integers); } else { Debug.LogWarning("No visualization found. Returning empty visualization content data.", gameObject); } return(serializedObject); }